0

この問題のヘルプを見つけようとすると、まったく新しい問題に直面しました。VB.NET の MVC 4 に関するリソース、書籍、サンプルが完全に不足しています。経験に基づいて学習するか (それに伴い、頭を壁にぶつけたような感覚)、あきらめて C# に完全に移行するかを選択する必要があります。

兄弟製品と同じサポートを提供する意思がない場合、どの企業も製品を出荷すべきではありません。VB for MVC を完全に廃止するか、VB を学習する手段を提供する必要があります。

それはさておき、ここで私の質問です。この行:

@Html.EditorFor(Function(x) x.UsersData(temp).Roles(Role))

素敵なコード行です。不思議に働きます。しかし、css ファイルのスタイルを変更できるように、クラスを追加するにはどうすればよいでしょうか?

さて、これでうまくいくようです:

@Html.EditorFor(Function(x) x.UsersData(temp).Roles(Role), New With {.class = "users-manage-check-box"})

しかし、そうではありません。これまで。結果は同じです。

何が問題で、どうすれば修正できますか?

正直なところ、私は解決策を思いつきました。汚いと感じるもの。

そのコードからの出力を見ると、ボックス クラスが「チェック ボックス」であることがわかります。

だから私がやっていることはこれです:

@html.Raw(Html.EditorFor(Function(x) x.UsersData(temp).Roles(Role), New With {.class = "users-manage-textbox"}).ToHtmlString.Replace("check-box", "user-manage-checkbox"))

これは間違っていると感じます。とても間違っています。これは悲しいコードであるだけでなく、セキュリティ リスクが発生するため、ソリューションが開発フェーズを終了する前に修正する必要があります。

追加のビュー データが正常に機能しない理由の手がかりはありますか? 私は何か間違っていますか?求めすぎですか?

どうもありがとう!

4

1 に答える 1

0

EditorFor がそれを許可しているとは思いません。そのため、カスタム エディター テンプレートを自分で作成する必要があります。

カスタム テンプレートの作成について詳しくは、このブログ投稿をご覧ください。

アップデート:

http://aspnetwebstack.codeplex.com/からこの問題の回答を見てください。

この動作は仕様です。

呼び出しているオーバーロードは、 additionalViewData ( http://msdn.microsoft.com/en-us/library/ff406462 )というオブジェクト パラメーターを受け入れます。EditorFor のデフォルトの実装は、この値を無視します。その情報にアクセスできるようにするには、カスタム エディター テンプレートを作成する必要があります。

于 2013-03-08T20:47:52.233 に答える