gpt4 book ai didi

c# - 在 MVC 中禁用 html 帮助文本框的自动完成

转载 作者:太空狗 更新时间:2023-10-29 18:00:39 25 4
gpt4 key购买 nike

好的,

我会在正常的 asp.net 中使用主题来关闭整个站点上所有文本框的自动完成功能。但是我不能在 MVC 上执行此操作,因为主题 .skin 文件中的任何内容似乎都不起作用。

我的 .skin 文件中有这个:

<asp:TextBox runat="server" autocomplete="off" />

但是这根本不会呈现,当然因为这不是 MVC 的工作方式。无论如何,有什么办法可以让这种事情发挥作用。我尝试在其上执行此操作的网站太大,无法保证更改每个文本框或创建新的 HTML 帮助程序来解决问题?

有人有什么想法吗?

最佳答案

MVC 没有像普通的旧 ASP.NET 那样的服务器控件。因此,不会对您的控件进行任何服务器处理。它们会按照您键入的方式呈现给客户端。主题不是您将在 MVC 中使用的东西,因为它们适用于 ASP.NET 服务器控件,您不会在这里使用它们。也就是说,HTML 助手确实会在呈现 View 时由服务器处理。您需要使用 html 属性重载将 autocomplete="off"添加到实际的 HTML 控件。

@Html.TextBoxFor(x => x.Something, new { autocomplete="off" } )

或者当您在 asp.net 服务器控件中设置 autocomplete="off"时呈现的任何实际 HTML 属性。

编辑:影响所有文本框的一种选择是创建您自己的 Html 辅助方法。只需像这样创建一个扩展方法:

using System.Web.Mvc;
using System.Web.Mvc.Html;

public static MvcHtmlString NoAutoCompleteTextBoxFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression)
{
return html.TextBoxFor(expression, new { autocomplete="off" });
}

然后你可以这样做:

Html.NoAutoCompleteTextBoxFor(x => x.Something)

关于c# - 在 MVC 中禁用 html 帮助文本框的自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com