1

mvc4 は初めてですが、問題が発生しました。
コントローラーで、どのフィールドを非表示または無効にするかを確認します。
通常の c# の場合、.visible を使用して解決できます。

しかし、MVC4 +かみそり、私はまったくわかりません。以下のようなすべてのテキストボックス、テキストエリアにcssクラスを追加したくありません

@Html.TextAreaFor(model => model.Message, new { @class = "hide" })

1-Javascript

//コントローラーの隠しフィールドを構築します
Viewbag.hideField = "#message,blah,blah";

//ビュー内の JavaScript で非表示
$(@Viewbag.hideField).hide();

これは私が考えることができるすべてです、これを達成するための豪華な方法は...

これらのフィールドは動的であり、ユーザーの役割に基づいて表示または非表示を決定します。ビューでこのチェックを行うと、面倒な作業になるので、コントローラーでプログラムで実行できると思います。

4

2 に答える 2

0

そのためにヘルパーを使用できます。

Html.HiddenFor(x => x.Message)

または、隠しクラスに css ルールを適用します。

.hidden {
    display: none;
}
于 2013-09-27T02:23:08.227 に答える
0

HTML にデータをハードコーディングし、javascript や css を使用することの何が悪いのでしょうか? それはウェブがどのように機能するかです!

別のオプションがあります。コントローラーで要素のリストを作成し、ビューで返されたリストを使用するのはどうですか?

その後、次のようにすることができます

var itemsToDisplay = new List()

if (User.Role == Admin)
{
var htmlHelper = HtmlHelper()
 itemsToDisplay.Add(htmlHelper.TextBoxFor(m => m.Name).ToString());
}

return View("view",itemsToDisplay)
于 2013-09-27T03:21:41.817 に答える