我有一个使用 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>
根据 the documentation添加指定 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()
方法的无效重载。
有什么线索吗?谢谢。
编辑:我环顾四周并根据this question似乎没有 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's comment第一个答案,以及 MSDN docs我在上面链接,否则会建议。
是哪个?
最佳答案
我想你正在寻找:
settings.ControlStyle.CssClass = (CssClassName);
它对我有用。我希望我能为你工作
关于c# - DevExpress MVC LabelFor - 设置 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24732039/