有没有办法集中设置Html.BeginForm自动完成=关闭?

时间:2014-04-15 17:07:45

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor

我需要在窗体上禁用自动完成功能,因为我们在那里得到一些非常奇怪的值,包括看起来像表单字段名称。因此,在我们理解这一点之前,我们认为禁用此功能是明智的。

显然我们可以为每个表单关闭它:

Html.BeginForm("Create","Report", FormMethod.Post, new { autocomplete="off"}))

然而,有一个更集中的方法来做到这一点,即默认" BeginForm"要自动完成=关闭。否则我们需要单独更改很多表单。

非常感谢提前。

2 个答案:

答案 0 :(得分:4)

您可以使用jQuery(或Javascript)将属性应用于输入标记。

以下示例代码:

$(document).ready(function () { $("input").attr("autocomplete", "off"); }); 

您可以将脚本放在主布局中以应用全局

致谢:https://stackoverflow.com/a/8617866/1027250

答案 1 :(得分:1)

这是ASP.NET提供的 FormExtension ,你知道它的功能所以我不会深入。

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform(v=vs.118).aspx

转到上面的链接,了解此帮助程序。但请注意,它是一个内置功能,在您编辑源代码之前无法对其进行编辑。

因此,答案是您需要编辑ASP.NET Web Helpers的源代码文件(System.Web.Mvc.Html)

http://msdn.microsoft.com/en-us/library/system.web.mvc.html(v=vs.118).aspx

如果你可以编辑它,那么你可以完成它。否则,您必须为每个表单编写该代码。