HtmlHelperの拡張を書いて、私は私のHtmlHelperの拡張方法についても同様の構造ctorsをサポートしたい場合は、以下のように、私はRouteValueDictionary
を使用します。のHtmlHelperのメソッドとRouteValueDictionary
public static string ListBoxDict(this HtmlHelper htmlHelper,
string name,
object value,
object htmlAttributes)
{
return ListBoxDict(htmlHelper,
name,
value,
((IDictionary<string, object>)
new RouteValueDictionary(htmlAttributes)));
}
私の質問は本当にRouteValueDictionary
のための理由が必要です。私はあなたがちょうど理由と私が混乱している場所になるかもしれないがわからないが、htmlAttributes
をIDictionary<string, object>
にキャストすることはできません知っている。 RouteValueDictionary
はルーティングと関係があり、したがってHtmlHelperメソッドとは関係がありませんか?私が言っているように、私はおそらくポイントを逃しているので、誰かが私が逃したものを私に教えることができたらうれしい。
乾杯...
編集:ダンの答えに応じて - >
私はちょうど私が入力ヘルパーのためのMVCのソースコードで使用されて見ていたものを以下ました...
- 次のようにそれがない "
src\SystemWebMvc\Mvc\Html\InputExtensions.cs
"
を参照してください。
public static string TextBox(this HtmlHelper htmlHelper,
string name,
object value,
object htmlAttributes)
{
return TextBox(htmlHelper,
name,
value,
new RouteValueDictionary(htmlAttributes))
}
明らかにショートカットですが、それは凶悪化ですか、それとも問題ありませんか?
おかげでダン、それは面白そうだと私は見てみましょう。私は私の質問を編集しました。なぜなら、私は、MVCフレームワークヘルパーの中にすでにあるものに従っていると言っていないからです。 –
Huh。私は別のプロジェクトのためにこれをもう一度探していて、自分の答えを見つけました!何が幸運! –
+1ありがとう、プロジェクトで私を助けました... – xandercoded