0

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ドキュメントとともに、そうではないことを示唆しています.
それはどれですか?

4

1 に答える 1