答えて
を設定する必要があります。
IDictionary<string, object> htmlAttributes = new RouteValueDictionary(attrs);
あなたはその後、一緒にこの辞書を使用することができますあなたはおそらくとにかく使用されますTagBuilder
、と:
var tagBuilder = new TagBuilder("input");
tagBuilder.MergeAttributes(htmlAttributes);
tagBuilder.ToString(TagRenderMode.Normal);
あなたは、これはASP.NET MVCのソースコード自体で行わ見ることができます。より簡単な例の1つはTextAreaExtensions.csです。
EDIT:
AnonymousObjectToHtmlAttributes
適切に静的メソッドを使用して、 "データ・ATTR" を "data_attr" を変換するために。
IDictionary<string, object> htmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(attrs);
これは属性data_bindで試してみました。予想どおりのデータバインド - アイデアとは対照的に、出力はdata_bindでしたか? – SimonGates
残念ながら、Url to TextAreaExtensionsは有効ではありません:)ただあなたに知らせてください。 – slawek
@slawekありがとう、私が見つけることができる最も近いもので修正。 – Domenic
:HTMLマークアップにそれらを埋め込むために、このような文字列にattrsに変換する方法
var attrs = new { id = "myid", style = "color: Red;" };
文字列に変換する必要はありません。 HTMLヘルパーの最後のパラメータはObjectです。側のexmample
@Html.TextBoxFor(x => x.Foo, new { size = 10, maxlength = 10 })
@Html.TextAreaFor(x => x.Notes, new { @class = "additionalInfo" })
@Html.TextBoxFor(x=>x.Registration.Address.Postcode, new {type="number", @class="postcode numeric", size=5, maxlength=5})
について
あなたはおそらく、あなたのHTMLでのスタイルのdirectyをインラインで設定すべきではありません注意してください、代わりにCSSクラス/セレクターを使用します。 あなたは、あなたが上に書いたように、単にそれにオブジェクトを与えます別のスタイルシートで あなたはMVC HTMLヘルパーを使用する場合も、各DOM要素のIDが自動的にこの機能は、驚くべきことに、RouteValueDictionary
クラスによって提供され
私は知っているが、加えて、別のフォームコンポーネントをレンダリングする独自のメソッドを記述したいので、MVC 3のようにする方法が必要です:) –
npあなたはあなたの質問にそれを言及すべきです – Daveo
ありがとう、私それを覚えて:) –
は、ここでは、この変換を行う方法は次のとおりです。
var htmlAttributes = new { id="myid", @class="myclass" };
string string_htmlAttributes = "";
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(htmlAttributes))
{
string_htmlAttributes += string.Format("{0}=\"{1}\" ", property.Name.Replace('_', '-'), property.GetValue(htmlAttributes));
}
PropertyDescriptor
がSystem.ComponentModel
- 1. javascript変数をhtmlオブジェクト "data-url"の属性に渡す
- 2. JSONをhtml属性として渡す
- 3. 返されたhtmlコードの属性参照渡し値属性
- 4. HTMLコンテンツをAngularディレクティブに属性として動的に渡す
- 5. JavascriptからPHPにスタイル属性を持つHTMLタグを渡す
- 6. オブジェクトまたはオブジェクトの属性を渡す
- 7. HTML 5のデータ属性をPlayに渡す!フォーム入力
- 8. 角度js 1.5コンポーネントにHTML属性を渡す
- 9. 属性にHTMLテンプレートを渡す - 角度4
- 10. 属性を使用してオブジェクトをカスタムコンポーネントに渡す
- 11. オブジェクトをng-repeatからtemplateURL属性に渡す
- 12. Polymer 2の要素属性にオブジェクトを渡す
- 13. htmlの属性はPHPに渡されます
- 14. AngularJS:オブジェクトをHTML属性にマップする方法
- 15. swfobject:オブジェクトにHTMLタイトル属性を追加する方法(フラッシュ)
- 16. html属性をjavascriptオブジェクトに変換する
- 17. 角度2で機能するHTML属性値を渡す
- 18. 部分属性にフォーム属性を渡す
- 19. HTML属性へのMVCモデル属性
- 20. JSONオブジェクトに渡されたRailsオブジェクトの属性を指定する
- 21. 「NoneType」オブジェクトには、属性「アダプター」、「NoneType」オブジェクトが属性「テキスト」
- 22. オブジェクト属性
- 23. JSONオブジェクトをディレクティブへの属性として渡します
- 24. contenteditable属性をhtmlに渡すにはどうすればいいですか?
- 25. コンポジットコンポーネントに属性を渡す方法
- 26. ブレードルートにデータ属性値を渡す
- 27. サブクラスにスーパークラスの属性を渡す
- 28. WCFのDataContractsに属性を渡す
- 29. カスタム属性をAureliaコンポーネントに渡す
- 30. 値の属性をデータベースに渡す:angularjs
は、あなたが質問ありがとうございクラスに属しています!私は私の日を救った! – Sergey