asp.net-mvc-3 – 即使关闭了自动完成功能,Firefox也会缓存隐藏
我有一个自动完成属性设置为关闭的表单.
在这个表单中,有一个隐藏的输入元素(使用ASP.NET MVC的Html.HiddenFor()方法生成,但是,这应该是无关紧要的): <input type="hidden" value="0" name="Status" id="Status" data-val-required="The Status field is required." data-val-number="The field Status must be a number." data-val="true"> 提交表单时,此值将增加1,模型将返回到视图.如果我将状态值写入页面,我可以看到该值已正确递增. 但是,此隐藏的输入字段始终被缓存.它永远不会得到正确的价值.我尝试直接在input元素上设置autocomplete属性,但没有成功. 如何获取此隐藏字段以获取正确的值?我不想使用任何Javascript. 编辑:提供更多代码…… 调节器 //This code is being executed,and the status is being incremented. shippingOrder.Status = (shippingOrder.Status != (int)OrderStatus.Closed) ? shippingOrder.Status + 1 : shippingOrder.Status; 视图 @using (Html.BeginForm("Number","Order",FormMethod.Post,new { id = "orderSummary",autocomplete = "off" })) { ... @Html.HiddenFor(m => m.Status) } 解决方法
根据这篇文章
here html助手如HiddenFor将始终首先使用发布的值,然后在模型中的值.
正如您所说,在将值写入页面时,您可以看到它递增,但帮助程序正在使用先前发布的值,这是预期的行为. 该链接确实建议在分配新值之前使用ModelState.Remove(“Status”)或ModelState.Clear(). 它还表明另一个选项可能不是使用HiddenFor帮助程序,而是自己构建隐藏字段.与此类似: < input type =“hidden”name =“Status”value =“@ Model.Status”/> 无论哪种方式,看起来你的问题都是基于类似的情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从ASP.NET用户控件中提升javascript事件并在ASP.NET页面中处
- asp.net – 为什么在FireFox中禁用时链接按钮不会变灰?
- asp.net – 如何在WebForms中的form.onSubmit期间调用HTML5
- asp.net-mvc – 支持URL中任何位置的catch-all参数的Asp.ne
- 非常非常简单的asp.net页面需要永远加载
- asp.net – 考虑到N2 CMS,但担心性能.这是否合理?
- asp.net mvc ajax上传解决方案?
- pdf-generation – 如何在ASP.NET中创建PDF
- 如何找出我的线程在ASP.NET中停止的原因?
- asp.net – 错误消息401.2:未授权:由于服务器配置,登录失