2012-04-25 14 views
0

asp.net mvcページには、大量のデータがチェックボックスとして表示されます。それらのうちのいくつかは他人にチェックされていない。私はこのようなコードを持っていますチェックボックスをオンにし、チェックボックスをオフにしたGenereteページ

@if(item.IsSelected) 
{ 
    <input id="@item.Name" name="@item.Code" type="checkbox" checked/> 
} 
else 
{ 
    <input id="@item.Name" name="@item.Code" type="checkbox"/> 
} 

それは動作します。しかし、私の心には嘘つきです。私は、属性をuncheckedまたはfalseまたは0または-1のようなものに設定する方法を探しています。 次へ:

<input id="@item.Name" name="@item.Code" type="checkbox" checked="@item.IsSelected?"checked":"what?!!"/> 

注意してください。私は簡単な方法を探したい。コードを洗練させるので、私はjavaScriptやjQueryを使いたくありません。

答えて

1

HtmlヘルパーCheckBoxForを使用することができます。 モデルのプロパティにバインドすると、バインドされているブール値のプロパティの値に応じて、チェックされているかチェックされていないかが表示されます。 @Html.CheckBoxFor(p => p.item.IsSelected, new { @id = ..., @name= ... })

+0

おかげで、素敵な解決策のような

何か。率直に言って、私はコードをシンプルに保つため、CheckBoxForではなくCheckBoxを使用しました。そして、私は次のようなものがある:@ Html.CheckBox(item.Code、item.IsSelected、new {id = item.Name、onchange = "CkeckBlaBlaBla( '" + @ item.Code + "')}} – RredCat

+0

解決済み私の質問。しかし、私はまだ興味深いです - それをHTMLで解決する方法はありますか? – RredCat

+0

私はブール値を受け取り、 "真"または "偽"に変換するヘルパーメソッドを作成することができたと思います。そのメソッドをcheckedプロパティで呼び出し、IsSelectedを渡すと、文字列 "true"または "false"がプロパティ値に書き込まれます。私はこれも動作すると思うが、Html.CheckBoxはよりクリーンです。 – Dante

関連する問題