modulesettings.aspx.cs
来自「三层架构的.net源码三层架构的.net源码」· CS 代码 · 共 230 行
CS
230 行
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace MyStarterKit.Portal.Web
{
/// <summary>
/// ModuleSettings 的摘要说明。
/// </summary>
public class ModuleSettingsPage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox moduleTitle;
protected System.Web.UI.WebControls.TextBox cacheTime;
protected System.Web.UI.WebControls.CheckBoxList authEditRoles;
protected System.Web.UI.WebControls.CheckBox showMobile;
protected System.Web.UI.WebControls.LinkButton ApplyButton;
int moduleId = 0;
int tabId = 0;
private void Page_Load(object sender, System.EventArgs e)
{
// 用户角色为Admins的才能访问该管理模块,否则重定向到EditAccessDenied.aspx
if (PortalSecurity.IsInRoles("Admins") == false)
{
Response.Redirect("~/Admin/EditAccessDenied.aspx");
}
// 当前编辑的模块Id
if (Request.Params["mid"] != null)
{
moduleId = Int32.Parse(Request.Params["mid"]);
}
// 当前编辑的标签Id
if (Request.Params["tabid"] != null)
{
tabId = Int32.Parse(Request.Params["tabid"]);
}
if (!Page.IsPostBack)
{
BindData();
}
}
/// <summary>
/// 为页面中的控件赋初值
/// </summary>
private void BindData()
{
// 从HttpContext中获取全局设置对象
PortalSettings portalSettings = (PortalSettings) HttpContext.Current.Items["PortalSettings"];
object value = GetModule();
// 当前所编辑的模块信息不为空时
if (value != null)
{
ModuleSettings m = (ModuleSettings) value;
//给标题,缓存时间,是否在移动设备浏览器上显示赋初值
moduleTitle.Text = m.ModuleTitle;
cacheTime.Text = m.CacheTime.ToString();
showMobile.Checked = m.ShowMobile;
// 读角色信息,显示授权角色复选框列表
RolesDB rolesObj = new RolesDB();
SqlDataReader roles = rolesObj.GetPortalRoles(portalSettings.PortalId);
// 清除已经存在的角色复选框列表项
authEditRoles.Items.Clear();
// 给出默认的All Users项
ListItem allItem = new ListItem();
allItem.Text = "All Users";
// 如果该标签可以被All Users修改,则勾选它
if (m.AuthorizedEditRoles.LastIndexOf("All Users") > -1)
{
allItem.Selected = true;
}
//将All Users项添加到复选列表中
authEditRoles.Items.Add(allItem);
// 循环添加从数据库中读取的角色信息到复选列表中
while(roles.Read())
{
ListItem item = new ListItem();
item.Text = (String) roles["RoleName"];
item.Value = roles["RoleID"].ToString();
if ((m.AuthorizedEditRoles.LastIndexOf(item.Text)) > -1)
{
item.Selected = true;
}
authEditRoles.Items.Add(item);
}
}
}
/// <summary>
/// 获取所编辑的模块信息
/// </summary>
/// <returns></returns>
private ModuleSettings GetModule()
{
// Obtain PortalSettings for this tab
PortalSettings portalSettings = (PortalSettings) HttpContext.Current.Items["PortalSettings"];
// Obtain selected module data
foreach (ModuleSettings _module in portalSettings.ActiveTab.Modules)
{
if (_module.ModuleId == moduleId)
return _module;
}
return null;
}
/// <summary>
/// 提交
/// </summary>
/// <param name="Sender"></param>
/// <param name="e"></param>
private void ApplyChanges_Click(Object Sender, EventArgs e)
{
// 从HttpContext中获取全局设置对象
PortalSettings portalSettings = (PortalSettings) HttpContext.Current.Items["PortalSettings"];
object value = GetModule();
if (value != null)
{
ModuleSettings m = (ModuleSettings) value;
// 读取可变更及该模块的角色信息
String editRoles = "";
foreach(ListItem item in authEditRoles.Items)
{
if (item.Selected == true)
{
editRoles = editRoles + item.Text + ";";
}
}
// 更新模块信息
Configuration config = new Configuration();
config.UpdateModule(moduleId, m.ModuleOrder, m.PaneName, moduleTitle.Text, Int32.Parse(cacheTime.Text), editRoles, showMobile.Checked);
#region 多余代码
/* 多余代码
// 赋新值
moduleTitle.Text = m.ModuleTitle;
cacheTime.Text = m.CacheTime.ToString();
RolesDB rolesObj = new RolesDB();
SqlDataReader roles = rolesObj.GetPortalRoles(portalSettings.PortalId);
// Clear existing items in checkboxlist
authEditRoles.Items.Clear();
ListItem allItem = new ListItem();
allItem.Text = "All Users";
if (m.AuthorizedEditRoles.LastIndexOf("All Users") > -1)
{
allItem.Selected = true;
}
authEditRoles.Items.Add(allItem);
while(roles.Read())
{
ListItem item = new ListItem();
item.Text = (String) roles["RoleName"];
item.Value = roles["RoleID"].ToString();
if ((m.AuthorizedEditRoles.LastIndexOf(item.Text)) > -1)
{
item.Selected = true;
}
authEditRoles.Items.Add(item);
}
*/
#endregion
}
// 重定向到模块所在标签的编辑页
Response.Redirect("TabLayout.aspx?tabid=" + tabId);
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ApplyButton.Click += new System.EventHandler(this.ApplyChanges_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?