权限问题 必须会
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();
}
}