怎么在datalist中,按照用户的权限设置控件的可见性?
打个比方吧,datalist绑定的数据有一条是用户的积分(A),现在datalist中还有一个textbox控件,怎么设置当积分(A)A>10时,textbox可见(Vi...
打个比方吧,datalist绑定的数据有一条是用户的积分(A),现在datalist中还有一个textbox控件,怎么设置当积分(A)A>10时,textbox可见(Visible=true)?
最好前台和后台的方法都告诉我
用自己的方法解决了,给后来者一个参考:
<asp:Label ID="Label4" runat="server" text='<%# Eval("SignatureLine")%>' Visible='<%# Convert .ToInt32 (Eval("UserScore"))>10?true:false %>'>'</asp:Label> 展开
最好前台和后台的方法都告诉我
用自己的方法解决了,给后来者一个参考:
<asp:Label ID="Label4" runat="server" text='<%# Eval("SignatureLine")%>' Visible='<%# Convert .ToInt32 (Eval("UserScore"))>10?true:false %>'>'</asp:Label> 展开
1个回答
展开全部
前台:
<asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound"><%--注册ItemDataBound事件--%>
<HeaderTemplate>
<asp:Label ID="label" runat="server" Text="积分"/>
</HeaderTemplate>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Score" )%>
<asp:TextBox ID="textbox" runat="server" Visible="false"/>
</ItemTemplate>
</asp:DataList>
后台ItemDataBound事件:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemIndex > -1)//不是列头行
{
TextBox tb = (TextBox)e.Item.FindControl("textbox");//获取当前行TextBox
int score = int.Parse(((DataRowView)e.Item.DataItem)[0].ToString());//获取当前行积分
if (score > 10)
{
tb.Visible = true;//积分大于10,则显示TextBox
}
}
}
后台PageLoad时绑定DataList数据源:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("Score", typeof(int));
dt.Rows.Add(20);
dt.Rows.Add(6);
dt.Rows.Add(5);
dt.Rows.Add(18);
this.DataList1.DataSource = dt;
this.DataList1.DataBind();
}
}
<asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound"><%--注册ItemDataBound事件--%>
<HeaderTemplate>
<asp:Label ID="label" runat="server" Text="积分"/>
</HeaderTemplate>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Score" )%>
<asp:TextBox ID="textbox" runat="server" Visible="false"/>
</ItemTemplate>
</asp:DataList>
后台ItemDataBound事件:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemIndex > -1)//不是列头行
{
TextBox tb = (TextBox)e.Item.FindControl("textbox");//获取当前行TextBox
int score = int.Parse(((DataRowView)e.Item.DataItem)[0].ToString());//获取当前行积分
if (score > 10)
{
tb.Visible = true;//积分大于10,则显示TextBox
}
}
}
后台PageLoad时绑定DataList数据源:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("Score", typeof(int));
dt.Rows.Add(20);
dt.Rows.Add(6);
dt.Rows.Add(5);
dt.Rows.Add(18);
this.DataList1.DataSource = dt;
this.DataList1.DataBind();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询