我想在DetailsView上实现以下功能:
点击编辑按钮后,根据不同的用户进入不同的编辑状态,就是A用户点击编辑后,字段a能进入编辑模式,字段b是readonly状态;而B用户点击编辑后,字段b能进入编辑模式,字段a是readonly状态。请问能实现上述功能吗?我是新手,请各位朋友讲得具体点,就是举个简单例子,麻烦各位了,非常感谢!!!
点击编辑按钮后,根据不同的用户进入不同的编辑状态,就是A用户点击编辑后,字段a能进入编辑模式,字段b是readonly状态;而B用户点击编辑后,字段b能进入编辑模式,字段a是readonly状态。请问能实现上述功能吗?我是新手,请各位朋友讲得具体点,就是举个简单例子,麻烦各位了,非常感谢!!!
{
TextBox t= DetailsView1.FindControl("txt") as TextBox ;
//判断
}
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
{
if (是用户a)
{
//非模板列
((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).ReadOnly = false;
((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).ReadOnly = true;//或者.Enabled = false也可以;\ //模板列
//((TextBox)DetailsView1.Rows[1].Cells[1].FindControl("TextBox1")).ReadOnly = false;
//((TextBox)DetailsView1.Rows[2].Cells[1].FindControl("TextBox2")).ReadOnly = true;
}
else if (是用户b)
{
//非模板列
((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).ReadOnly = true;
((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).ReadOnly = false;
//模板列
//((TextBox)DetailsView1.Rows[1].Cells[1].FindControl("TextBox1")).ReadOnly = true;
//((TextBox)DetailsView1.Rows[2].Cells[1].FindControl("TextBox2")).ReadOnly = false;
}
}
}
这样寻找就好了 第2行 第二列的控件 然后转换成TEXTBOX 在设置对应的属性
((TextBox)DetailsView1.Rows[1].Cells[1].FindControl("TextBox1")).再输入r
asp.net都会自动弹出对应存在的属性,但我明明记得是找不到ReadOnly的属性的,难道我前面输入错了??真奇怪,我明天试试看!!谢谢2位了