我想在成功的動作(而不是使用RedirectToAction)之後呈現相同的視圖,但我需要修改呈現給該視圖的模型數據。以下是一個人爲的示例,演示了兩種不起作用的方法:如何在發送查看之前修改控制器操作中的發佈表單數據?
[AcceptVerbs("POST")]
public ActionResult EditProduct(int id, [Bind(Include="UnitPrice, ProductName")]Product product) {
NORTHWNDEntities entities = new NORTHWNDEntities();
if (ModelState.IsValid) {
var dbProduct = entities.ProductSet.First(p => p.ProductID == id);
dbProduct.ProductName = product.ProductName;
dbProduct.UnitPrice = product.UnitPrice;
entities.SaveChanges();
}
/* Neither of these work */
product.ProductName = "This has no effect";
ViewData["ProductName"] = "This has no effect either";
return View(product);
}
有沒有人知道正確的方法是用來完成此操作的?
謝謝,這非常有用。我使用此功能可以在輸入錯誤的信用卡號碼後重新顯示信用卡號碼。我很驚訝這個任務是如何不平凡/不直觀的。 – smdrager 2011-12-06 21:36:26
謝謝你的回答 – marathonman 2014-10-03 11:22:10