在下面的截斷CSHTML摘錄我使用一個網格建立一個表:MvcContrib.Grid呈現額外的隱藏輸入列
@using (Html.BeginForm("DeleteSelected", "ControllerName", FormMethod.Post))
{
@Html.Grid(Model).Columns(column => {
column
.For(x => x.CreationTime).Format("{0:g}");
column
.For(x => x.OtherPropery);
column
.For(x => x.YetAnotherProperty);
column
.For(x => Html.CheckBox(x.IdThatICanUseToGrabModels, new {@class = "isSelectedCheck"}))
.Header(@<div><input type="checkbox" id="isSelectedHeader"/></div>);
});
當我通過表單POST提交我的網,我想是能夠確定哪些行被選中,並在我的控制器邏輯中相應地執行。最後的column.For(...)
語句會創建一個複選框輸入和一個隱藏輸入。
顯然這是預期的行爲。由於兩個輸入具有相同的名稱,因此預期如何循環訪問FormCollection
對象並獲取正確的值?每個密鑰(名爲x.IdThatICanUseToGrabModels
)最終可能有多個值。
其他人怎麼能通過這個?
感謝,
布賴恩
這看起來比我的解決方案更好,但我對你的'IdThatICanUseToGrabModels'屬性感到困惑。這應該是一個'獨立財產'布爾IsSelected''或我誤解了什麼? – 2012-03-13 19:32:35