我有这个动作:
//Edit
[HttpPost]
public ActionResult InvoiceType(clsInvoiceType Model, string Stade)
{
Model.Stade = Stade== "1" ? true : false;
return PartialView(Model);
}
在此操作中,我尝试更改Model.Stade
的值并返回模型,但视图始终接收发送到此操作的值,问题是我尝试在动作中更改模型的值并将新模型值返回到视图,但视图接收原始模型值,因此我的更改不起作用,问题是什么?
如何更改原始模型值并将其发送到视图?
答案 0 :(得分:1)
ModelState
对象包含已发布回操作方法的值。在查看模型中的实际值之前,视图中的Html.*For()
辅助方法始终会从ModelState
中提取值。如果要更改值,则需要从ModelState
中删除已发布的值。
[HttpPost]
public ActionResult InvoiceType(clsInvoiceType Model, string Stade)
{
this.ModelState.Remove("Stade"); // or .Clear() to remove all keys
Model.Stade = Stade== "1" ? true : false;
return PartialView(Model);
}
答案 1 :(得分:0)
您可以通过以下方式禁用缓存:
[OutputCache(Duration=0, VaryByParam="none")]
[HttpPost]
public ActionResult InvoiceType(clsInvoiceType Model, string Stade)
{
Model.Stade = Stade== "1" ? true : false;
return PartialView(Model);
}