私は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. Vulkanでサポートされる拡張機能を取得する方法
- 7. Chrome HID API拡張機能のサポート
- 8. pgAudit拡張機能のインストール方法は?
- 9. powershellの処理方法拡張機能ErrorActionパラメータ?
- 10. Opencart3ではOpencart2拡張機能をサポートしていますか?
- 11. HtmlHelper拡張メソッドのHTMLエンコーディング
- 12. AndroidでORMLiteのBaseDaoImplクラスを拡張して機能を拡張する方法
- 13. vscode拡張機能で背景を描画する方法は?
- 14. Firefox拡張機能でメッセージパッシングを実装する方法は?
- 15. メディアエディタで拡張機能をカスタマイズする方法は?
- 16. 拡張機能でreadonlyプロパティを設定する方法は?
- 17. Chrome拡張機能にパラメータを渡す方法はありますか?
- 18. 機能パラメータで拡張機能を送ることができます
- 19. HtmlHelper拡張メソッド内のHtmlHelperメソッドにアクセスする - ASP.NET MVC RC2
- 20. Sqlite.Net拡張機能の使用方法
- 21. Chrome拡張機能:拡張機能のhtmlページを現在のウェブページにドッキングする方法は?
- 22. cockroachdbは拡張機能をサポートしていますか?
- 23. Amazon Redshiftは拡張機能dblinkをサポートしていますか?
- 24. protobuf-netはprotobuf拡張機能をサポートしていますか?
- 25. 拡張機能
- 26. OMS拡張機能またはWindows診断拡張機能
- 27. STARTTLS拡張機能はサーバーでサポートされていません
- 28. Chrome拡張機能 - 設定ページで拡張機能の画像
- 29. 拡張コレクションをパラメータ化する方法
- 30. 拡張機能のコンテンツスクリプトをプログラムで挿入する(クロム拡張機能)
あなたはこれまでに何がありますか? –