2009-07-25 19 views
0

は基本的に私は動的にそのようなビューのデータから作成されたチェックボックスのセットを持っている:ASP .Net MVC、チェックボックスの問題!

<input type="checkbox" name="Calendars" value="<%= c.ID %>" /><%= c.Name %> 

値はカレンダーIDであること。

FormsCollectionを使用して戻ってきたチェックボックスを取得できますが、それは機能します!

(チェックボックスの隣に隠しフィールドを表示するバグがあるようですが、これは実際に「真偽」として返されます!私はこれを回避することができますIdはそれに言及します)

問題は、編集ページにチェックボックスをフックしようとすると起こります!

私は複数のカレンダーを持つことができるスケジュールクラスを持っていて、そのスケジュールをどのカレンダーに表示するかは、編集時にチェックしてください!

私のビューは強く型付けされていますが、MVCの魔法はこれをマップできません!

これを行うための最良の方法は何ですか?

私はViewDataでカレンダーIDを渡してみましたが、適切なチェックボックスをチェックするためにインラインコードを実行しましたが、これは面倒です!

ありがとうございます!

UPDATE:

完了この

s.ID == c.ID).Select(S => S).Count()> 0)? 「確認=確認」:すべてのチェックボックスに手動で「タグを確認「」あなたが追加する必要があり%>

答えて

3

」:

<input type="checkbox" name="Calendars" value="<%= c.ID %>" checked="checked" /><%= c.Name %> 
+0

ありがとう!私はそれを複雑にしました! –

2
あなたは <input type="checkbox"を必要といけない

からHtml.Checkbox()を使用しています。チェックボックスの隣に隠しフィールドが表示されますが、バグではありません。 ASP.NET MVCのソースから、InputExtensions.cs、ライン201:

// Render an additional <input type="hidden".../> for checkboxes. This 
// addresses scenarios where unchecked checkboxes are not sent in the request. 
// Sending a hidden input makes it possible to know that the checkbox was present 
// on the page when the request was submitted. 

使用この:

<%= Html.CheckBox("Calendars", c.ID) %> 
+0

ああ!ありがとう、それは完全な意味があります! –