我有一个转发器,在它的item_command事件中我绑定了另一个转发器。我想根据第二个中继器中的角色显示数据。对于它我想隐藏并根据用户的角色显示一些列。我们怎么能用后面的代码来做呢。提前致谢。 我的代码是
<table id="table1" class="yui" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>
<a href='#' title="Click Header to Sort">EmpID #</a>
</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
<asp:Repeater ID="Repaddressorbbl" runat="server" OnItemCommand="Repaddressorbbl_ItemCommand">
<ItemTemplate>
<tr id="gh" style="cursor: pointer" onclick="Select(this);">
<td style="text-align: center;">
<%#Eval("empid")%>
</td>
<td>
<asp:LinkButton ID="lknumber" runat="server" Text="Edit" CommandName="searchbybbloraddress" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</tbody>
<tfoot>
</tfoot>
</table>
protected void Repaddressorbbl_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "searchbybbloraddress")
{
bind_rep2();
}
}
答案 0 :(得分:0)
简单的方法是使用javascript并在隐藏时使用Display:none,并在需要时显示创建功能。
答案 1 :(得分:0)
如果你想在代码后面的ItemCommand中对第二个转发器进行数据绑定,你有两个选择。
您可以修改设置为第二个转发器的DataSource的数据集,并将敏感数据设置为空字符串或 * *。
您拥有的另一个选项是向数据集添加IsVisibleToUser布尔属性,在第二个转发器中将Visible属性绑定到此属性。
您可以使用生成匿名对象的Linq查询轻松修改为DataSource提供的数据。
类似的东西:
Repeater2.DataSource = from d in MyData
select new
{
FirstName = d.FirstName,
LastName = d.LastName,
Salary = d.Salary,
IsVisibleToUser = CurrentUser.IsInRole(...)
}