导读部分
教程部分
本帖主要是实现菜单管理分页列表中,删除菜单功能的后台逻辑,以及页面实现方式。 如下图中删除按钮功能:
页面html代码: [C#] 纯文本查看 复制代码 <tbody>
<%foreach (var info in list)
{
var trBgColor = string.Empty;
if (info.ParentID == 0) { trBgColor = "rgb(240, 248, 255)"; }
%>
<tr style="background-color:<%=trBgColor %>">
<td> <%=info.MenuID%></td>
<td><%=info.MenuName%></td>
<td><%=info.ParentID%></td>
<td><%=info.LinkUrl%></td>
<td class="color-weak"><%=info.OrderID%></td>
<td>
<a href="/Sys/SysMenuAdd.aspx?action=edit&menuId=<%=info.MenuID %>" class="btn btn-success btn-small">修改</a>
<a href="javascript:;" class="btn btn-success btn-small del" data-value="<%=info.MenuID %>" data-action="del">删除</a>
</td>
</tr>
<%} %>
</tbody>
其中的代码: [C#] 纯文本查看 复制代码 <a href="javascript:;" class="btn btn-success btn-small del" data-value="<%=info.MenuID %>" data-action="del">删除</a>
上面的a链接,就是删除按钮,点击删除按钮,调取后台逻辑结构,删除按钮的点击事件js如下: [C#] 纯文本查看 复制代码 <script>
$("#grid").delegate('[data-action="del"]', 'click', function () {
var $this = $(this);
var pageIndex = $this.attr('data-pageIndex');
if (confirm("确定要删除吗")) {
$.post('/System/SysMenuList.aspx', { action: 'del', menuId: $this.attr("data-value") }, function (data) {
if (data.reCode > 0) {
var searchType = $('#ddl_searchType').val();
var searchText = $('#txt_searchText').val();
window.location.href = '/System/SysMenuList.aspx?pageIndex=' + pageIndex + "&searchType=" + searchType + "&searchText=" + searchText;
}
else {
alert(data.msg);
}
}, 'json');
}
});
$('#btnSearch').click(function () {
var searchType = $('#ddl_searchType').val();
var searchText = $('#txt_searchText').val();
window.location.href = "/System/SysMenuList.aspx?searchType=" + searchType + "&searchText=" + searchText;
});
</script>
在此处,点击后,调取后台逻辑方法如下: 在Page_Load中,获取action,判断为‘del’,然后调取如下的,DoDel方法:
[C#] 纯文本查看 复制代码 /// <summary>
/// 删除
/// </summary>
private void DoDel()
{
var menuId = InputHelper.GetInputInt(Request["menuId"]);
//if (!JJoobb.BLL.WebOALoginUser.IsAssignPermission(9))
if (!false)
{
Response.Write("{\"reCode\":0,\"msg\":\"没有权限.\"}");
Response.End();
return;
}
else
{
sys_menuBll.Delete(string.Format("MenuID = {0}", menuId));
Response.Write("{\"reCode\":1,\"msg\":\"ok.\"}");
Response.End();
}
}
此处如果删除成功,返回json,reCode= 1, 在页面js中获取到后,自动删除页面,即可
|