私はHtmlHelper拡張メソッドを作成しています。組み込みのフレームワークメソッドの多くは、結果HTMLにレンダリングされるhtmlAttributes(オブジェクト型のような)のようなパラメータをサポートしています。 htmlAttributesパラメータもサポートする独自のメソッドのオーバーロードを、文字列連結ロジックをタグの属性として再描画せずに提供するにはどうすればよいですか?HtmlHelper拡張機能でhtmlAttributesパラメータをサポートする方法は?
7
A
答えて
17
オブジェクトには、オブジェクトを名前/値の辞書に変換するメソッドがあります。名前/値の辞書は、作成中のタグにマージできます。あなたがオーバーロードを提供したり、空Dictionary
が生成されますされ、htmlAttributes
ためnull
値を供給するために、デフォルト値を使用するか
var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes) as IDictionary<string, object>;
TagBuilder tag = new TagBuilder("script");
tag.MergeAttributes(attributes);
tag.MergeAttribute("type", "text/javascript");
tag.MergeAttribute("src", scriptPath);
:たとえば、このコードは、余分な属性が渡されているものは何でもして<script>
タグを生成します。
(それは任意のオブジェクトについてだけに使用しても安全ですので、この方法はまた、有効なHTML属性などに属性名をサニタイズ。)
+0
うわー、ちょうど私が必要なもの。ありがとうございました! – blaster
関連する問題
- 1. RazorでHtmlHelper拡張機能を作成するには?
- 2. Android soundPoolサポート拡張機能?
- 3. HtmlHelperの拡張機能を書くときにUrlHelperを呼び出す方法
- 4. Chrome拡張機能、拡張機能を一意に識別する方法
- 5. jqueryにパラメータを渡す方法拡張機能のUIダイアログボタン機能?
- 6. AndroidでORMLiteのBaseDaoImplクラスを拡張して機能を拡張する方法
- 7. Firefox拡張機能でメッセージパッシングを実装する方法は?
- 8. Chrome拡張機能にパラメータを渡す方法はありますか?
- 9. 拡張機能
- 10. Chrome拡張機能:拡張機能のhtmlページを現在のウェブページにドッキングする方法は?
- 11. HtmlHelper拡張メソッドのHTMLエンコーディング
- 12. Chrome拡張機能 - 設定ページで拡張機能の画像
- 13. STARTTLS拡張機能はサーバーでサポートされていません
- 14. 拡張コレクションをパラメータ化する方法
- 15. UbuntuでPthreads PHP拡張機能を使用する方法
- 16. Google Chromeの拡張機能でツリービューを作成する方法
- 17. Firefoxの拡張機能でJavaプラグインを要求する方法
- 18. AmazonでChrome拡張機能のポップアップをブロックする方法
- 19. browserifyで拡張機能を要求する正しい方法
- 20. ISAPI拡張機能:TerminateExtensionと拡張機能デストラクタの違いは何ですか?
- 21. Templavoila拡張機能はTYPO3 CMSをサポート7.6.4 LTS
- 22. HtmlHelper拡張メソッド内のHtmlHelperメソッドにアクセスする - ASP.NET MVC RC2
- 23. Tridion 2011 GUI拡張機能、CSSファイルを含める方法は?
- 24. 拡張機能browser.runtime.connectNative
- 25. Chrome拡張機能
- 26. traitは機能拡張機能を拡張していますか(A => B)?
- 27. はChromeの拡張機能
- 28. はChromeの拡張機能
- 29. は、Firefoxの拡張機能
- 30. Firefox拡張機能をBHOに移植する(ブラウザヘルパーオブジェクト、別名IE拡張機能)
あなたはこれまでに何がありますか? –