Ale*_*lex 7 ajax asp.net-mvc jquery razor asp.net-mvc-3
除了一个警告之外,我在MVC3应用程序中有一个正常工作的ajax表单.提交表单并获得结果后,即使传入的模型具有不同的输入值(下例中的金额),旧值仍会显示在屏幕上.我将此归因于DOM中保存的值并覆盖/阻止模型中的新值.有多种方法可以通过在其中一个表单事件上运行javascript函数来解决此问题.
我希望获得有关处理这种情况的最佳方法的反馈,最好是原生于MVC而不使用javascript.以下是代码段:
<div id="MyContainder">
@Html.Partial("MyPartialView", ClassContainingAmountProperty)
</div>
Run Code Online (Sandbox Code Playgroud)
@using (Ajax.BeginForm(actionName: "myaction",
ajaxOptions: new AjaxOptions() UpdateTargetId = "MyContainder"})
@Html.EditorFor(x => x.Amount)
<input type="submit" value="Save" />
)
Run Code Online (Sandbox Code Playgroud)
myModel.Amount = SomeNewNumber;
return PartialView(myModel); //same partial view returned but with new amount
Run Code Online (Sandbox Code Playgroud)
Ale*_*lex 22
我一问这个问题就找到了答案! ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映在服务器上完成的更改
你必须打电话
ModelState.Clear();
Run Code Online (Sandbox Code Playgroud)
在返回局部视图之前的动作内部
| 归档时间: |
|
| 查看次数: |
7009 次 |
| 最近记录: |