我想在行数据绑定事件中更改导航url属性。如果那个coloumn没有与链接绑定我想添加导航url =#
<asp:TemplateField HeaderText="Reportd Link" ItemStyle-HorizontalAlign="center" >
<ItemTemplate>
<asp:HyperLink ID="Lbl_RptLnk1" runat="server" NavigateUrl='<%#Eval("ReportLinks")%>'
Text='Reported Link' Target="_blank" ToolTip='<%#Eval("ReportLinks")%>'></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
aspx.cs代码
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink myLink = (HyperLink)e.Row.Cells[4].Controls[0];//slno,linkname,linkid,link
if (myLink.NavigateUrl == "Waiting for Approval")
{
myLink.NavigateUrl = "#";
}
}
得到错误说明 - 指定的参数超出了有效值的范围。 参数名称:index
答案 0 :(得分:1)
在RowDataBound
事件中,因为您的控件是TemplateField
内的ASP服务器控件,您可以使用行上的FindControl
方法来查找控件: -
HyperLink Lbl_RptLnk1 = (HyperLink)e.Row.FindControl("Lbl_RptLnk1");
if (Lbl_RptLnk1.NavigateUrl.Trim() == "Waiting for Approval")
{
Lbl_RptLnk1.NavigateUrl = "#";
}