MVC HtmlHelper でレンダリングされたシンプルなラベルがありますがLabelFor、それに css クラスをアタッチする方法が見つからないようです。壁に追いやられています。
<div>
@Html.DevExpress().LabelFor(m => m.Total, settings => {
settings.Name = "Total";
settings.Width = Unit.Percentage(100);
}).Bind(Model.Total).GetHtml()
</div>
ドキュメントによると、 html 属性を指定する 3 番目のパラメーターを追加するだけで十分と思われるため、当然、次のことを試みました。
<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()メソッドの無効なオーバーロードであると訴えます。
手がかりはありますか?ありがとう。
編集:私は周りを見回しましたが、この質問LabelFor()によれば、html属性を指定するオブジェクトを受け入れる組み込みのオーバーロードはないようです(OPの質問はid属性と見なされました)。LabelFor()メソッドを右クリックしてその定義にジャンプすると、次のように表示されます。これは、 object パラメータを受け入れないという事実も確認します。
#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ドキュメントとともに、そうではないことを示唆しています.
それはどれですか?