gpt4 book ai didi

twitter-bootstrap - 无法将 Bootstrap 类应用于我的 EditorFor

转载 作者:行者123 更新时间:2023-12-04 09:00:45 27 4
gpt4 key购买 nike

我正在开发一个 asp.net mvc-5 Web 应用程序,我写了以下内容:-

@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
&
@Html.EditorFor(model => model.Name, new { @class = "form-control" })

但这不会对生成的 html 产生任何影响,但是如果我将 EditorFor 更改为 TextboxFor 我将获得 form-control 类的效果?有人可以就此提出建议吗?我读到这仅在 asp.net mvc 5.1 中受支持?那么除了将我的 asp.net mvc-5 升级到 asp.net mvc 5.1 以消除升级风险之外,我可以采用哪些可用方法来使其正常工作?有人可以推荐吗?

最佳答案

是的,要将 html 属性传递给标准 EditorFor(),您需要 MVC-5.1+。如果你想用 MVC-5 复制它,你可以创建一个自定义编辑器模板并使用接受 additionViewData 的重载传递属性。例如,创建一个名为“String.cshtml”的新 EditorTemplate 以将模板应用于所有类型为 string

的属性

/Views/Shared/EditorTemplates/String.cshtml

@Html.TextBoxFor(m => m, ViewData["attributes"])

在 View 中

@Html.EditorFor(m => m.Name, new { attributes = new { @class = "form-control" } })

或创建一个特定的EditorTemplate

/Views/Shared/EditorTemplates/MyCustomTemplate.cshtml

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, ViewData["htmlAttributes"])

在 View 中

@Html.EditorFor(m => m.Name, "MyCustomTemplate", new { attributes = new { @class = "form-control" } })

第二个例子展示了如何尊重上面评论中提到的 DisplayFormat 属性,例如

[DisplayFormat(DataFormatString="{0:C}", ApplyFormatInEditMode = true)]
public decimal Amount { get; set; }

将值格式化为货币字符串。

This answer还提供了一些其他选项,包括创建用于呈现 Bootstrap 控件的自定义 html 帮助器

关于twitter-bootstrap - 无法将 Bootstrap 类应用于我的 EditorFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27975810/

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