.net MVC Html.CheckBoxForの正しい使い方
質問
私が知りたいのは、このメソッドの適切な構文です。
Html.CheckBoxFor
HTMLヘルパーの適切な構文です。
私が達成しようとしているのは、チェックボックスがID値で初期チェックされ、コントローラでそれを参照し、まだチェックされているかどうかを確認できるようにすることです。
以下のような構文が適切でしょうか?
@foreach (var item in Model.Templates)
{
<td>
@Html.CheckBoxFor(model => true, item.TemplateId)
@Html.LabelFor(model => item.TemplateName)
</td>
}
どのように解決するのですか?
それは適切な構文ではありません
最初のパラメータは ではなく チェックボックスの値ではなく、チェックボックスのためのビューモデルバインディングです。
@Html.CheckBoxFor(m => m.SomeBooleanProperty, new { @checked = "checked" });
最初のパラメータは、モデル内のブール値のプロパティを識別する必要があります(これは
式
であり、値を返す無名メソッドではありません)、2 番目のプロパティは追加の HTML 要素属性を定義します。上記の属性がチェックボックスを初期チェックすることを100%確信しているわけではありませんが、試すことは可能です。しかし、注意してください。有効なモデルデータを読み込んだときに、そのプロパティが
false
.
正しい方法
私の
正しい提案
に初期化された特定のブール値プロパティを持つ初期化されたモデルをビューに提供することでしょう。
true
.
プロパティの種類
Asp.net MVCに準ずる
HtmlHelper
拡張メソッドと内部動作によると、チェックボックスは整数値ではなくブール値にバインドする必要があります。その場合、隠しフィールドに
id
.
その他のヘルパー
もちろん、チェックボックスの値や動作についてより柔軟に対応するために使用できる他のヘルパーメソッドもあります。
@Html.CheckBox("templateId", new { value = item.TemplateID, @checked = true });
ノート :
checked
はHTML要素のbooleanプロパティであり、value属性ではないので、どんな値でも代入できることを意味します。正しいHTML構文には代入は含まれませんが、HTML要素のプロパティとしてレンダリングされる未定義のプロパティを持つ匿名C#オブジェクトを提供する方法がないのです。
関連
-
[解決済み】VS 2015でコントローラからビューを追加できない : "選択されたコードジェネレータの実行にエラーが発生しました"
-
[解決済み] ファイルアップロード ASP.NET MVC 3.0
-
[解決済み】ASP.NET MVCのフォームでチェックボックスを処理するにはどうすればよいですか?
-
[解決済み】MVC 4 @Scripts "does not exist".
-
[解決済み】ASP.NET MVC 3 Razor - EditorForにクラスを追加する。
-
[解決済み】ASP.NET MVC 3 - 部分テンプレートと表示テンプレートと編集テンプレート
-
[解決済み】HTTPエラー500.19とエラーコード: 0x80070021
-
[解決済み] ASP.NET MVCにおけるロールベースアクセスコントロール(RBAC)とクレームベースアクセスコントロール(CBAC)の比較
-
[解決済み] ASP.NET MVC: UrlHelperを使用するコントローラのユニットテスト
-
[解決済み] ASP.NET MVCの非同期操作では、.NET 4のThreadPoolからスレッドを使用しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DI向けNinjectとUnityの比較【終了しました
-
[解決済み] ASP.NET MVCアプリケーションで、デバッグ用の起動ページを設定するにはどうすればよいですか?
-
[解決済み] コントローラ '...' でパブリックアクションメソッド '...' が見つかりませんでした。
-
[解決済み] MVCにおけるViewModelとは?
-
[解決済み】1つのビューに複数のモデルを表示する
-
[解決済み】リポジトリとサービスレイヤーの違い?
-
[解決済み】ViewModelのベストプラクティス
-
[解決済み] datetime2 データ型から datetime データ型への変換で、範囲外の値が発生しました。
-
[解決済み] ASP.NET MVCにおけるロールベースアクセスコントロール(RBAC)とクレームベースアクセスコントロール(CBAC)の比較
-
[解決済み] ASP.NET MVCコントローラから外部URIへのリダイレクト