DevExpress MVC LabelFor - set css class
本文关键字:css class set MVC LabelFor DevExpress | 更新日期: 2023-09-27 18:12:59
我用LabelFor
MVC HtmlHelper渲染了一个简单的标签,我似乎找不到一种方法来附加一个css类,它把我逼上了墙。
<div>
@Html.DevExpress().LabelFor(m => m.Total, settings => {
settings.Name = "Total";
settings.Width = Unit.Percentage(100);
}).Bind(Model.Total).GetHtml()
</div>
根据文档,添加第三个参数指定html属性似乎就足够了,所以我很自然地尝试了:
<div>
@Html.DevExpress().LabelFor(m => m.Total, settings => {
settings.Name = "Total";
settings.Width = Unit.Percentage(100);
}, new { @class = "myLabel" }).Bind(Model.Total).GetHtml()
</div>
但是Visual Studio抱怨这是LabelFor()
方法的无效重载。
有线索吗?谢谢。
EDIT:我环顾四周,根据这个问题,似乎没有内置的LabelFor()
过载,它接受指定html属性的对象(OP的问题认为id属性);如果我右键单击该方法并跳转到它的定义,我将看到以下内容,这也将确认LabelFor()
不接受对象参数:
#region Assembly DevExpress.Web.Mvc5.v14.1.dll, v14.1.4.0
// C:'Program Files (x86)'DevExpress 14.1'Components'Bin'Framework'DevExpress.Web.Mvc5.v14.1.dll
#endregion
using DevExpress.Web.ASPxClasses;
using DevExpress.Web.ASPxEditors;
using System;
using System.Web.Mvc;
namespace DevExpress.Web.Mvc
{
public class LabelExtension : EditorExtension
{
public LabelExtension(LabelSettings settings);
public LabelExtension(LabelSettings settings, ViewContext viewContext);
protected internal MVCxLabel Control { get; }
protected override EditPropertiesBase Properties { get; }
protected internal LabelSettings Settings { get; }
protected override void AssignInitialProperties();
protected override ASPxWebControl CreateControl();
protected override bool IsSimpleIDsRenderModeSupported();
}
}
但是Todd对第一个答案的评论,以及我上面链接的MSDN文档,都表明情况并非如此。
是哪一个?
我想你要找的是:
settings.ControlStyle.CssClass = (CssClassName);
它对我有效。希望能为贵公司工作