ASP.NET MVC Html.TextBox刷新问题

我在使用asp.net mvc 2和html.textboxfor helper时遇到问题.
我以以下形式使用以下代码:

<%= Html.TextBoxFor(model => model.Zip, new { @class = "txt", id = "zip", tabindex = 1 })%>

当用户发送表格时,我会验证邮政编码,而当邮政编码无效时,我们会设置正确的邮政编码.
我的模型具有正确的zip,从asp生成的html代码包含旧的zip值.

样品:
用户写邮政编码:12345
我的验证课程,已将邮政编码纠正为:12346
我的模型包含新的邮编:123456,在gui上我只看到12345

问题是什么?

最佳答案
您无法在控制器操作中修改值,因为在生成文本框时助手将始终使用POSTed值.这是设计使然,如果要解决此问题,则必须编写自己的帮助程序或手动生成文本框:

<input 
    type="text" 
    name="Zip" 
    value="<%= Html.Encode(Model.Zip) %>" 
    class="txt" 
    id="zip" 
    tabindex="1" 
/>

转载注明原文:ASP.NET MVC Html.TextBox刷新问题 - 代码日志