如何在asp.net中为网格中的项模板设置enable=false
本文关键字:设置 enable false 网格 asp net | 更新日期: 2023-09-27 18:09:58
我想根据角色设置enable = false
我有一个if
语句来检查角色
page load() {
if(role == "something")
{
// I want to set imgbtn.enabled = false;
}
}
怎么做呢
<Columns><asp:TemplateField HeaderText="Edit Controls" ItemStyle-Width="15%">
<ItemTemplate>
<asp:ImageButton ID="imgbtn" ImageUrl="Styles/Images/Edit.jpg" runat="server" OnClick="imgbtn_GroupEditClick" ToolTip="Edit Group" />
<asp:ImageButton ID="img_Send" ImageUrl="Styles/Images/Message.jpg" Enabled="True"
runat="server" PostBackUrl='<%# Eval("GroupName", "SendMessage.aspx?GroupName={0}") %>'
ToolTip="Create Message"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="GroupID" ItemStyle-Width="0%" HeaderText="GroupID" />
<asp:BoundField DataField="GroupName" ItemStyle-Width="20%" HeaderText="GroupName" />
</columns>
我正在为网格做数据绑定
可以处理RowDataBound
Grid的事件
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//Or you can use e.Row.Cells[0].FindControl("ur control id");
foreach (object c in e.Row.Cells[0].Controls)
{
ImageButton btn = c as ImageButton;
if (c != null && role == "something")
{
//Do your logic here
}
}
}
这样处理GridView上的RowDataBound事件:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
var btn = e.Row.FindControl("imgbtn") as Button;
btn.Enabled = role == "something";
}
也许你可以在ASPX标记中使用数据绑定表达式:
<asp:ImageButton ID="imgbtn" Enabled='<%# role == "something" %>' ... />
如果您希望根据角色启用或禁用页面上的一个或多个控件,则可以在页面/控件中创建一个公共属性,如下所示:
public bool BelongsToRoleA { get; set; }
根据角色
设置其值If(role==”something”)
{
BelongsToRoleA = true;
}else
{
BelongsToRoleA = false;
}
然后在你的标记中引用它,像这样:
<asp:ImageButton ID="imgbtn" Enabled='<%# BelongsToRoleA %>' ...
你也可以这样做:-
设置在你的。aspx.cs页面
public string role { set; get; }
和在设计部分用
替换你的代码<Columns>
<asp:TemplateField HeaderText="Edit Controls" ItemStyle-Width="15%">
<ItemTemplate>
<%if (role == "Something")
{ %>
<asp:ImageButton ID="imgbtn" ImageUrl="Styles/Images/Edit.jpg" runat="server" OnClick="imgbtn_GroupEditClick"
ToolTip="Edit Group" Enabled="false" />
<%}
else
{ %>
<asp:ImageButton ID="ImageButton1" ImageUrl="Styles/Images/Edit.jpg" runat="server" OnClick="imgbtn_GroupEditClick"
ToolTip="Edit Group" Enabled="true" />
<%} %>
<asp:ImageButton ID="img_Send" ImageUrl="Styles/Images/Message.jpg" Enabled="True"
runat="server" PostBackUrl='<%# Eval("GroupName", "SendMessage.aspx?GroupName={0}") %>'
ToolTip="Create Message"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="GroupID" ItemStyle-Width="0%" HeaderText="GroupID" />
<asp:BoundField DataField="GroupName" ItemStyle-Width="20%" HeaderText="GroupName" />
</Columns>