C#学习教程:为编辑器添加样式分享


为编辑器添加样式

我正在尝试将一个Style应用于编辑器中,但是我无法使其工作; 我究竟做错了什么?

@Html.EditorFor(model => model.ClienteNuevo) @Html.ValidationMessageFor(model => model.ClienteNuevo,"" ,new Dictionary { { "style", "width:500px" } }) 

从MVC 5.1开始,您可以使用htmlAttributes作为键传递自定义属性:

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

在较旧的MVC版本中 ,无法使用EditorFor方法添加html属性。
您应该创建自定义编辑器模板或使用Html.TextboxFor不是EditorFor 。 您应该检查这些主题topic1 , topic2 。

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

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

EditorFor调用模板视图而不是输出固定元素,因此它不会将html属性作为参数。 对于你正在做的事情,最简单的解决方法是用另一个元素包围编辑器和validation消息,然后将样式应用于:

 
@Html.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" }) 

我希望你能帮忙

上述就是C#学习教程:为编辑器添加样式分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031723.html

发表评论

邮箱地址不会被公开。 必填项已用*标注