如何禁用 LnkButton 上的超链接?
How to disable hyperlink on LnkButton?
我有 table 的数据。其中一个字段是 UName。 UName 有超链接。我想在某些行中禁用它。
我在 ItemTemplate 中有两个 LnkButton。
当我删除 ItemTemplate 中的第一个 LnkButton 时,UName 字段的超链接被删除。
因为我不想为每一行禁用它,所以我想找到一种方法来禁用 CodeBehind 中的超链接。
<telerik:GridTemplateColumn DataField="UName" GroupByExpression="UName" UniqueName="UName"
InitializeTemplatesFirst="false" HeaderText="Name" CurrentFilterFunction="Contains">
<HeaderStyle />
<HeaderTemplate>
<span onmouseover='ShowColumnHeaderMenu(event,"UName")'>Name
</span>
<asp:Image ID="imgHeader1" ImageUrl="" Visible="false" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<LnkButton:LnkButton ID="HypUName" runat="server" style="white-space: nowrap" Text='<%# Server.HtmlEncode(Eval("UName").ToString()) %>'></LnkButton:LnkButton>
<LnkButton:LnkButton ID="LnkButton1" runat="server" Text='<%# Eval("UName").ToString() %>' Menuid="5"></LnkButton:LnkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>
总而言之,我的目标是从 CodeBehind 禁用 ID 为“HypUName”的 LnkButton。
您需要循环查找控件并禁用它,如果它满足您正在寻找的任何条件。下面的例子
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// look for your control here and disable it if needed
LinkButton lnk= (LinkButton)e.Row.FindControl("HypUName");
if(lnk != null)
{
// do your condition check here
//if passes disable link
lnk.Enabled = false;
}
}
}
我有 table 的数据。其中一个字段是 UName。 UName 有超链接。我想在某些行中禁用它。
我在 ItemTemplate 中有两个 LnkButton。 当我删除 ItemTemplate 中的第一个 LnkButton 时,UName 字段的超链接被删除。 因为我不想为每一行禁用它,所以我想找到一种方法来禁用 CodeBehind 中的超链接。
<telerik:GridTemplateColumn DataField="UName" GroupByExpression="UName" UniqueName="UName"
InitializeTemplatesFirst="false" HeaderText="Name" CurrentFilterFunction="Contains">
<HeaderStyle />
<HeaderTemplate>
<span onmouseover='ShowColumnHeaderMenu(event,"UName")'>Name
</span>
<asp:Image ID="imgHeader1" ImageUrl="" Visible="false" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<LnkButton:LnkButton ID="HypUName" runat="server" style="white-space: nowrap" Text='<%# Server.HtmlEncode(Eval("UName").ToString()) %>'></LnkButton:LnkButton>
<LnkButton:LnkButton ID="LnkButton1" runat="server" Text='<%# Eval("UName").ToString() %>' Menuid="5"></LnkButton:LnkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>
总而言之,我的目标是从 CodeBehind 禁用 ID 为“HypUName”的 LnkButton。
您需要循环查找控件并禁用它,如果它满足您正在寻找的任何条件。下面的例子
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// look for your control here and disable it if needed
LinkButton lnk= (LinkButton)e.Row.FindControl("HypUName");
if(lnk != null)
{
// do your condition check here
//if passes disable link
lnk.Enabled = false;
}
}
}