DataTypeAttribute 覆盖 EditorTemplate String.chtml 中的 class 元素集
DataTypeAttribute overrides class element set in EditorTemplate String.chtml
我正在尝试设置 String.chtml EditorTemplate 的 ViewData["class"]。当我从我的 ViewModel 中删除 DataType.x 属性时,它正在工作。但我想保留我的 DataType.Password 并应用额外的 css classes.
我正在使用:
- 引导程序 3.3.1
- ASP.NETMVC 5.2
我试过:
- 正在禁用 JavaScript。
- 在 String.chtml 中使用 TextBoxFor 而不是 TextBox 设置样式。
我更愿意:
- 除非必要(因为 Bootstrapper),否则不添加额外的 CSS。
- 不使用 JavaScript / JQuery 来解决问题。
- 使用ASP.NET MVC 解决冲突。
这是我在 EditorTemplates 文件夹中的 String.chtml:
视图模型(带有弄乱我的 EditorTemplate 的 DataTypeAttributes):
这是使用新的 EditorTemplate (String.chtml) 的 Login.chtml:
我目前的成绩:
当指定 DataType.Password / DataType.EmailAddress 属性时,如何将 CSS class 添加到 Html.ForEditor?
如果有什么不清楚的地方,请告诉我,我会add/change。
这里的问题是对实际发生的事情存在根本性的误解。 DataType 没有覆盖您的 ViewData,它导致 selected 一个完全不同的模板.. 即..内置的默认密码或电子邮件地址模板。
DataType 的用途是select 用于呈现的模板。所以你真正想要做的是创建一个 EmailAddress.cshtml 和一个 Password.cshtml 模板并向它们添加 form-control 属性。但是,这些并不是真正必需的,因为您可以将这些属性添加到 MVC 5.1 或更高版本中的 EditorFor。
@Html.EditorFor(x => x.Password, htmlAttributes: new { @class = "form-control" })
我正在尝试设置 String.chtml EditorTemplate 的 ViewData["class"]。当我从我的 ViewModel 中删除 DataType.x 属性时,它正在工作。但我想保留我的 DataType.Password 并应用额外的 css classes.
我正在使用:
- 引导程序 3.3.1
- ASP.NETMVC 5.2
我试过:
- 正在禁用 JavaScript。
- 在 String.chtml 中使用 TextBoxFor 而不是 TextBox 设置样式。
我更愿意:
- 除非必要(因为 Bootstrapper),否则不添加额外的 CSS。
- 不使用 JavaScript / JQuery 来解决问题。
- 使用ASP.NET MVC 解决冲突。
这是我在 EditorTemplates 文件夹中的 String.chtml:
视图模型(带有弄乱我的 EditorTemplate 的 DataTypeAttributes):
这是使用新的 EditorTemplate (String.chtml) 的 Login.chtml:
我目前的成绩:
当指定 DataType.Password / DataType.EmailAddress 属性时,如何将 CSS class 添加到 Html.ForEditor?
如果有什么不清楚的地方,请告诉我,我会add/change。
这里的问题是对实际发生的事情存在根本性的误解。 DataType 没有覆盖您的 ViewData,它导致 selected 一个完全不同的模板.. 即..内置的默认密码或电子邮件地址模板。
DataType 的用途是select 用于呈现的模板。所以你真正想要做的是创建一个 EmailAddress.cshtml 和一个 Password.cshtml 模板并向它们添加 form-control 属性。但是,这些并不是真正必需的,因为您可以将这些属性添加到 MVC 5.1 或更高版本中的 EditorFor。
@Html.EditorFor(x => x.Password, htmlAttributes: new { @class = "form-control" })