5

@Html.TextBoxFor(model => model.signature)以下のように、ヘルパーによって生成された入力にdata-idパラメーターを含めるのが好きな HTML ヘルパーの書き方を知りたいです。

<input type="text" name="signature"  data-id="No Signature" />

注 1: パラメーターのようなものは単純な変数であるためdataId機能します。htmlAttributes

注2:私は拡張メソッドを知っており、次のような属性を使用しています@{var attributes = new Dictionary<string, object>{{ "data-id", "No Signature" }};}

これを解決するためのより良い方法がなければならないと感じています。何か案が...?

どうもありがとう。

4

3 に答える 3

4

data-次の方法で属性を追加できます。

@Html.TextBoxFor(model => model.signature, new { data_id = "No signature" })

_ダッシュ ( ) の代わりにアンダースコア ( ) を使用する必要があります-

ヒント:属性Modelで変数を使用することも可能です:data-

new { data_id = Model.Id }
于 2013-09-27T11:13:22.137 に答える
1

次のような独自のカスタム ヘルパーを作成できます。

 public static class TextBoxExtensions
     {
          public static string CustomTextBox(this HtmlHelper helper, string name)
          {
               return String.Format("<input type='text' name={0} data-id='No Signature'></input>", name);
          }
     }

次に、ビューで次のことができます。

@Html.CustomTextBox("signature");
于 2013-09-27T10:45:50.797 に答える