2017-05-23 18 views
1

asp.net Webサイトを作成しましたが、チェックボックスは常にfalseです。なぜこれはそうですか?ASP.NET MVCチェックボックス常にfalse

モデル:

public string Username { get; set; } 
public string Password { get; set; } 
public bool Remember { get; set; } 

CSHTML:チェックボックスは、その後Rememberはまだ偽でチェックされている場合

<div class="form-group"> 
    @Html.Label("Remember me?") 
    @Html.CheckBoxFor(m => m.Remember) 
</div> 

Rememberプロパティは、常にfalseです。

+2

、それはあなたのために役立つことを願っていますか? – Avitus

+0

いいえ、チェックボックスをオンにするとfalseになります。 – mrnn

答えて

2

私は同じ問題を抱えていました.HTMLチェックボックスタグを書くことで修正しました。プロパティ名と同じ名前を付けると、値= trueになりました。チェックボックスがチェックされていなければ、

@ Html.CheckBoxFor(M => M:とにかく、あなたのケースで が、これはそれ

<input type="checkbox" name="Remember" value="true" />

0

最初のパラメータは、チェックボックスの値ではなく、むしろモデルので、チェックボックスのためのバインディングを表示されます。 SomeBooleanProperty、新規{@checked = "checked"}); 最初のパラメータは、モデル内のブール値プロパティを識別する必要があります(値を返す匿名メソッドではない式です)。2番目のプロパティは、追加のHTML要素属性を定義します。私は上記の属性が最初にあなたのチェックボックスをチェックすることを100%確信していませんが、試してみることができます。しかし、注意してください。有効な場合でも、後で問題の可能性があります。有効なモデルデータを読み込むときに、その特定のプロパティがfalseに設定されています。

ソースおよび追加情報: https://stackoverflow.com/a/12674731/3397630

はあなたがtrueに設定してください親切に私は自分の考えやフィードバックをお聞かせ

おかげ カルティク

+0

これはまさにOPが持っているものです! 'Remember'と '@Html.CheckBoxFor(m => m.Remember)'という名前の 'bool'プロパティ(' new {@checked = "checked"}を設定するのは無意味です。チェックされた –

関連する問題