怎么在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>
展开
 我来答
随风z9pd
2011-05-13 · TA获得超过777个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:579万
展开全部
前台:
<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();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式