gpt4 book ai didi

c# - 如何在 ASP.Net MVC 中创建 bool HTML5 属性 'conditional'?

转载 作者:可可西里 更新时间:2023-11-01 13:04:14 25 4
gpt4 key购买 nike

我正在使用 ASP.Net MVC (5.2.3.0) 创建表单域:

@Html.TextBoxFor(
x => x.UserName,
new {
@class = "form-control",
placeholder = "Enter your username",
required = true,
autofocus = true
});

到目前为止一切顺利,但现在我想将 autofocus 属性设置为条件。我该怎么办?

autofocus 属性是一个 bool 属性,W3C状态:

Note: The values "true" and "false" are not allowed on boolean attributes. To represent a false value, the attribute has to be omitted altogether.

以下在 MVC 中不起作用,因为它仍然呈现 autofocus 属性,导致浏览器进行自动对焦:

autofocus = String.IsNullOrEmpty(this.Model.UserName)
autofocus = String.IsNullOrEmpty(this.Model.UserName) ? null : ""`

有人知道如何解决这个问题吗?

最佳答案

您可以在 View 之前的某处创建一个属性字典:

@{
var usernameAttrs = new Dictionary<string, object>
{
{"class ", "form-control"},
{"placeholder ", "Enter your username"},
{"required", true},
};

if (String.IsNullOrEmpty(this.Model.UserName))
{
usernameAttrs.Add("autofocus", true);
}
}

并在 TextBoxFor()

中使用它
@Html.TextBoxFor(x => x.UserName, usernameAttrs);

关于c# - 如何在 ASP.Net MVC 中创建 bool HTML5 属性 'conditional'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34975758/

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