gpt4 book ai didi

css - MVC : which CSS class implements Html. EditorFor() 方法?

转载 作者:行者123 更新时间:2023-11-28 13:01:17 28 4
gpt4 key购买 nike

为了修改使用 @Html.EditorFor(m => m.SomeAttribute) 时显示的样式,我想知道如何覆盖默认 CSS 类而不为每个类声明一个新类模型的属性数据类型。换句话说。

我不想这样做:

  @Html.LabelFor(m => m.ddlStationId, new {@class="label"})
@Html.EditorFor(m => m.ddlStationId, new { ReadMethod = "Read", ReadController = "Receiver",@class="combobox" })
@Html.EditorFor(m => m.txbBrandName,new {@class="textbox"})

众所周知,EditorFor() 具有不同的行为,具体取决于数据类型,所以我想知道这个类位于何处。

我通过使用 UIHint 类作为装饰器并定义了一个 EditorTemplate 做了一些事情,但不允许我覆盖主要的 CSS。重要的是要说明我正在使用 Kendo UI 框架。一些可能相关的额外信息。

最佳答案

除非您覆盖默认模板,否则不存在“默认”类。根据您的 DataAnnotations,显示的值的行为可能不同(格式化字符串,也许您有一个模板将日期选择器放在文本输入上),但以下每个输出在 MVC 中是一致的。

@Html.LabelFor(x=>x.Property)

HTML 输出

<label for="Property">Property Value</label>

对于字符串属性

@Html.EditorFor(x=>x.SomeStringProperty)

HTML 输出

<input type="text" id="SomeStringProperty" name="SomeStringProperty" value=""/>

最后,一个 bool 属性

@Html.EditorFor(x=>x.SomeBoolProperty)

HTML 输出

<input type="checkbox" id="SomeBoolProperty" name="SomeBoolProperty"/>

鉴于此,在您的样式表中,您需要为顶级 HTML 元素创建类,而不是基于类或 ID。这样的例子可以是

<style>
<!--apply to all labels -->
label { position: absolute; text-align:right; width:130px; }
<!--apply to all labels with class check-->
label.check { font-weight:bold;padding-left:10px }
<!-- apply to all input and textarea tags-->
input, textarea { margin-left: 140px; }
<!-- apply to all input with class special-->
input.special { font-weight: bold }
</style>

如果您查看基本 MVC 模板附带的默认样式表,您可能会看到与我在上面发布的内容类似的内容。您可以使用自定义类编辑这些。

关于css - MVC : which CSS class implements Html. EditorFor() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21283568/

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