Witajcie,
chcę zapisać pewne dane do bazy danych ale korzystając z dwóch formularzy, modeli, itd., która metoda jest lepsza
Pierwszy Controler
[HttpGet]
public ActionResult Product (int id = 0)
{
......
}
[HttpPost]
public ActionResult Product (Product product)
{
if(ModelState.IsValid)
{
Session["product"] = product;
// lub TempData["product"] = product;
}
return Redirect to Action(...)
}
Drugi Controler
[HttpGet]
public ActionResult Order (int id = 0)
{
......
}
[HttpPost]
public ActionResult Order (Order order)
{
if (ModelState.IsValid
{
Product product = (Product)Session["product "];
//lub Product product = TempData["product"] as Product;
db.Products.Add(product);
db.Orders.Add(order);
db.SaveChanges();
}
// i dalszy kod
return Redirect to Action(...)
}
Do przesyłania danych między kontrolerami i akcjami co lepiej użyć TempData czy Sesji?
Czytając ten link
http://sampathloku.blogspot.com/2012/09/how-to-use-aspnet-mvc-tempdata-properly.html
pisze bloger aby nie korzystać z TempData w metodzie HttpPost. Czy faktycznie jest to zła praktyka?