我是MVC 4的新手。我陷入困境並希望得到一些建議來解決問題。該問題的方案是:在MVC中保存WebGrid中的所有複選框值4
我渲染的WebGrid的局部視圖內外的WebGrid格式如下:
IEnumerable集合與約束的WebGrid。用於結合的WebGrid的觀點是:
@{
MIS.Areas.AdminModule.Models.AdminModuleViewModels.Module_UserGrp_Permission allPermissions = new MIS.Areas.AdminModule.Models.AdminModuleViewModels.Module_UserGrp_Permission();
}
@{
var grid = new WebGrid(Model, canPage: true, rowsPerPage: 10, selectionFieldName: "selectedRow", ajaxUpdateContainerId: "Title");
grid.Pager(WebGridPagerModes.NextPrevious);}
<div id="gridContent">
@grid.GetHtml(tableStyle: "webGrid",
headerStyle: "header",
alternatingRowStyle: "alt",
selectedRowStyle: "select",
columns: grid.Columns(
grid.Column(header: "Select",
format: @<input class="select" id="assignChkBx" name="assignChkBx" type="checkbox" @allPermissions.intMenuId/>),
grid.Column(header: "MenuId", format: (item) => item.intMenuId, style: "description"),
grid.Column(header: "Menu", format: (item) => item.strMenuName, style: "description", canSort: true),
grid.Column(header: "Add", format: @<text><input name="Add" type="checkbox" @(item.boolAddPer == true ? "Checked" : null) id="chkboxIsActiveAdd" /></text>),
grid.Column(header: "Edit", format: @<text><input name="Edit" type="checkbox" @(item.boolEditPer == true ? "Checked" : null) id="chkboxIsActiveEdit" /></text>),
grid.Column(header: "Delete", format: @<text><input name="Delete" type="checkbox" @(item.boolDeletePer == true ? "Checked" : null) id="chkboxIsActiveDelete" /></text>),
grid.Column(header: "Grant", format: @<text><input name="Grant" type="checkbox" @(item.boolGrantPer == true ? "Checked" : null) id="chkboxIsActiveGrant" /></text>)
))
</div>
而從數據庫中獲取數據如下(我不使用的EntityFramework):
VAR結果=從塔中dt.AsEnumerable ()
select new Module_UserGrp_Permission
{
intMenuId = Convert.ToInt32(column["MenuId"]),
intUserGrpId = Convert.ToInt32(column["UserGrpId"]),
strMenuName = Convert.ToString(column["MenuName"]),
boolAddPer = Convert.ToBoolean(column["boolGAdd"]),
boolEditPer = Convert.ToBoolean(column["boolGEdit"]),
boolDeletePer = Convert.ToBoolean(column["boolGDel"]),
boolViewPer = Convert.ToBoolean(column["boolGView"]),
boolGrantPer = Convert.ToBoolean(column["boolGGrant"])
};
return new List<MIS.Areas.AdminModule.Models.AdminModuleViewModels.Module_UserGrp_Permission>(result);
現在的問題是我要拯救這一切的選中/取消項目的WebGrid。 單擊「保存」按鈕後應如何保存所有值。 請建議可能的解決方案。
謝謝大家。
謝謝您的回覆,先生。我一定會試一試。但是你知道我必須從所有的Add-Edit-Delete-Grant列中取得所有的選中/取消選中的值(第一選擇複選框不重要,因爲我必須取所有的值)。還編輯了複選框名稱。我會盡快給您回覆。謝謝.. – BAdmin
先生,按照你的建議,我可以得到檢查項目的'開'格式的值。但問題是價值觀不是明智之舉,更重要的是我無法得到未經檢查的價值觀。那麼,我將如何更新所有的值? – BAdmin
這是最簡單的方法。如果您爲每個列指定自己的名稱,則可以通過對每個名稱執行請求來獲取檢查內容的列表。由於在一行上有多個我只是查詢獲得可用的列表,並與選中的內容進行比較以獲得未選中的 –