我竭力要弄清楚正確的方式做在MVC一些東西,不會在WebForms的困難,我希望有人能夠指出我正確的方向。如何在ASP.NET MVC中選擇錶行
基本上,我顯示數據的表和用戶應該能夠選擇零個或多個行。當他們按下提交時,我希望我的控制器知道哪些行被選中,因爲這會影響屏幕上的其他數據。
我的視圖看起來是這樣的:
<form action="/Summary/Index" method="post">
<table>
<thead>
<tr>
<th></th>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<% foreach (Person p in Model)
{ %>
<tr>
<td>
<input type="checkbox" name="" /> <!-- HOW SHOULD THIS BE RENDERED? -->
</td>
<td><%= p.Name %></td>
<td><%= p.Age %></td>
</tr>
<% } %>
</tbody>
</table>
<input type="submit" value="Update" />
</form>
所以被點擊提交按鈕時,表單將張貼到當前的URL。請注意,模型'Person'只是一個ViewModel,所以我可以根據需要添加任何必要的UI相關屬性。我應該向Person添加一個'Selected'屬性並讓我的控制器獲取Person的列表/數組並檢查每個的選定屬性?
請注意,我需要一個可以在沒有JavaScript的情況下工作的解決方案,而且我不希望我的控制器關心複選框的值如何檢索 - 如果需要,我很樂意編寫自定義的ModelBinder。
任何人都可以給我一個想法如何做到這一點嗎?
非常感謝, 西蒙。
謝謝拉撒路,它的工作原理與我想要的完全一樣! – Simon 2009-08-13 10:15:54