权限问题 必须会
public
partial
class Main : System.Web.UI.Page
{
private TestDataContext context = new TestDataContext();
protected void Page_Load( object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session[ " uid "]!= null)
{
Filldr();
Fillcb();
Fillgz();
}
// 查角色,查规则
string uid = Session[ " uid "].ToString();
List<Rules> list = new List<Rules>();
var query = context.UserInJueSe.Where(p => p.UserId == uid);
foreach (UserInJueSe data in query)
{
var q = context.JueSeWithRules.Where(p => p.JueSeId == data.JueSeId);
foreach (JueSeWithRules jr in q)
{
Rules rule = context.Rules.Where(p => p.Code == jr.RuleId).First();
if (!list.Contains(rule))
{
list.Add(rule);
}
}
Repeater1.DataSource=list;
Repeater1.DataBind();
}
}
}
// 人命下拉列表绑定数据
public void Filldr()
{
DropDownList1.DataSource = context.Users;
DropDownList1.DataTextField = " Name ";
DropDownList1.DataValueField = " UserName ";
DropDownList1.DataBind();
}
// 角色复选框绑定数据
public void Fillcb()
{
CheckBoxList1.DataSource = context.JueSe;
CheckBoxList1.DataTextField = " Name ";
CheckBoxList1.DataValueField = " Code ";
CheckBoxList1.DataBind();
}
// 规则复选框绑定数据
public void Fillgz()
{
CheckBoxList2.DataSource = context.Rules;
CheckBoxList2.DataTextField = " Name ";
CheckBoxList2.DataValueField = " Code ";
CheckBoxList2.DataBind();
}
protected void Dryonghu_SelectedIndexChanged( object sender, EventArgs e)
{
// 清除显示
CheckBoxList1.SelectedIndex = - 1;
CheckBoxList2.SelectedIndex = - 1;
// 1、取出选中的人员代号
string uid = DropDownList1.SelectedValue.ToString();
// 2.查出人员代号所对应的角色 // 3.显示在checkboxlist中
var query = context.UserInJueSe.Where(p => p.UserId == uid);
var query1 = context.JueSeWithRules.Where(p => p.RuleId == uid);
foreach (UserInJueSe data in query)
{
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Value == data.JueSeId)
{
item.Selected = true;
}
}
}
// 规则显示
foreach (JueSeWithRules data in query1)
{
foreach (ListItem item in CheckBoxList2.Items)
{
if (item.Value == data.JueSeId)
{
item.Selected = true;
}
}
}
}
protected void Button1_Click( object sender, EventArgs e)
{
// 1、取出选中的人员代号
string uid = DropDownList1.SelectedValue.ToString();
// 删除角色原有数据
var query = context.UserInJueSe.Where(p => p.UserId == uid);
if (query.Count() > 0)
{
context.UserInJueSe.DeleteAllOnSubmit(query);
}
// 删除规则原有数据
var query1 = context.JueSeWithRules.Where(p => p.RuleId == uid);
if (query1.Count() > 0)
{
context.JueSeWithRules.DeleteAllOnSubmit(query1);
}
// 2.造对象集合
List<UserInJueSe> list = new List<UserInJueSe>();
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
{
UserInJueSe data = new UserInJueSe();
data.UserId = uid;
data.JueSeId = item.Value;
list.Add(data);
}
}
// 2.造对象集合
List<JueSeWithRules> list1 = new List<JueSeWithRules>();
foreach (ListItem item in CheckBoxList2.Items)
{
if (item.Selected)
{
JueSeWithRules data = new JueSeWithRules();
data.RuleId = uid;
data.JueSeId = item.Value;
list1.Add(data);
}
}
// 3.添加到数据库
// context.JueSeWithRules.InsertAllOnSubmit(list1);
context.UserInJueSe.InsertAllOnSubmit(list);
context.SubmitChanges();
}
}
{
private TestDataContext context = new TestDataContext();
protected void Page_Load( object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session[ " uid "]!= null)
{
Filldr();
Fillcb();
Fillgz();
}
// 查角色,查规则
string uid = Session[ " uid "].ToString();
List<Rules> list = new List<Rules>();
var query = context.UserInJueSe.Where(p => p.UserId == uid);
foreach (UserInJueSe data in query)
{
var q = context.JueSeWithRules.Where(p => p.JueSeId == data.JueSeId);
foreach (JueSeWithRules jr in q)
{
Rules rule = context.Rules.Where(p => p.Code == jr.RuleId).First();
if (!list.Contains(rule))
{
list.Add(rule);
}
}
Repeater1.DataSource=list;
Repeater1.DataBind();
}
}
}
// 人命下拉列表绑定数据
public void Filldr()
{
DropDownList1.DataSource = context.Users;
DropDownList1.DataTextField = " Name ";
DropDownList1.DataValueField = " UserName ";
DropDownList1.DataBind();
}
// 角色复选框绑定数据
public void Fillcb()
{
CheckBoxList1.DataSource = context.JueSe;
CheckBoxList1.DataTextField = " Name ";
CheckBoxList1.DataValueField = " Code ";
CheckBoxList1.DataBind();
}
// 规则复选框绑定数据
public void Fillgz()
{
CheckBoxList2.DataSource = context.Rules;
CheckBoxList2.DataTextField = " Name ";
CheckBoxList2.DataValueField = " Code ";
CheckBoxList2.DataBind();
}
protected void Dryonghu_SelectedIndexChanged( object sender, EventArgs e)
{
// 清除显示
CheckBoxList1.SelectedIndex = - 1;
CheckBoxList2.SelectedIndex = - 1;
// 1、取出选中的人员代号
string uid = DropDownList1.SelectedValue.ToString();
// 2.查出人员代号所对应的角色 // 3.显示在checkboxlist中
var query = context.UserInJueSe.Where(p => p.UserId == uid);
var query1 = context.JueSeWithRules.Where(p => p.RuleId == uid);
foreach (UserInJueSe data in query)
{
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Value == data.JueSeId)
{
item.Selected = true;
}
}
}
// 规则显示
foreach (JueSeWithRules data in query1)
{
foreach (ListItem item in CheckBoxList2.Items)
{
if (item.Value == data.JueSeId)
{
item.Selected = true;
}
}
}
}
protected void Button1_Click( object sender, EventArgs e)
{
// 1、取出选中的人员代号
string uid = DropDownList1.SelectedValue.ToString();
// 删除角色原有数据
var query = context.UserInJueSe.Where(p => p.UserId == uid);
if (query.Count() > 0)
{
context.UserInJueSe.DeleteAllOnSubmit(query);
}
// 删除规则原有数据
var query1 = context.JueSeWithRules.Where(p => p.RuleId == uid);
if (query1.Count() > 0)
{
context.JueSeWithRules.DeleteAllOnSubmit(query1);
}
// 2.造对象集合
List<UserInJueSe> list = new List<UserInJueSe>();
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
{
UserInJueSe data = new UserInJueSe();
data.UserId = uid;
data.JueSeId = item.Value;
list.Add(data);
}
}
// 2.造对象集合
List<JueSeWithRules> list1 = new List<JueSeWithRules>();
foreach (ListItem item in CheckBoxList2.Items)
{
if (item.Selected)
{
JueSeWithRules data = new JueSeWithRules();
data.RuleId = uid;
data.JueSeId = item.Value;
list1.Add(data);
}
}
// 3.添加到数据库
// context.JueSeWithRules.InsertAllOnSubmit(list1);
context.UserInJueSe.InsertAllOnSubmit(list);
context.SubmitChanges();
}
}