Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将样式添加到编辑器以用于_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

C# 将样式添加到编辑器以用于

C# 将样式添加到编辑器以用于,c#,asp.net,asp.net-mvc,asp.net-mvc-3,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,我试图将样式应用于元素的编辑器,但无法使其正常工作;我做错了什么 @Html.EditorFor(model => model.ClienteNuevo) @Html.ValidationMessageFor(model => model.ClienteNuevo,"" ,new Dictionary<string, string> { { "style", "width:500px" } }) @Html.EditorFor(model=>model.Clie

我试图将样式应用于元素的编辑器,但无法使其正常工作;我做错了什么

@Html.EditorFor(model => model.ClienteNuevo)
@Html.ValidationMessageFor(model => model.ClienteNuevo,"" ,new Dictionary<string,     string> { { "style", "width:500px" } })
@Html.EditorFor(model=>model.ClienteNuevo)
@Html.ValidationMessageFor(model=>model.ClienteNuevo,”,新字典{{{“style”,“width:500px”})

EditorFor
调用模板视图,而不是输出固定元素,因此它不将html属性作为参数。对于您正在执行的操作,最简单的解决方法是使用另一个元素围绕编辑器和验证消息,并将样式应用于该元素:

<div style="width: 500px;">
@Html.EditorFor(model => model.ClienteNuevo)
@Html.ValidationMessageFor(model => model.ClienteNuevo,"")
</div>

@EditorFor(model=>model.ClienteNuevo)
@Html.ValidationMessageFor(model=>model.ClienteNuevo,“”)

EditorFor
不允许设置样式,因为没有其他属性的参数。这是因为EditorFor并不总是生成单个元素,因为它可以被重写。要设置特定类型元素的样式,需要使用要使用的特定编辑器。例如,如果编辑器是文本框,只需使用
TextBoxFor
并以这种方式应用样式

@Html.EditorFor(model => model.ClienteNuevo)
@Html.ValidationMessageFor(model => model.ClienteNuevo, "", new { @class = "yourclass" })
我希望您能提供帮助,因为您可以使用
htmlAttributes
作为键传入自定义属性:

@Html.EditorFor(model => model.ClienteNuevo, 
    new { htmlAttributes = new { @class = "form-control" } })
在旧的MVC版本中无法使用
EditorFor
方法添加html属性。

您应该创建一个自定义的或使用
Html.TextboxFor
istead of
EditorFor
。您应该检查这些主题。

您可以创建自己的css类并将其附加到编辑器中:

@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "custom-editor" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })