【发布时间】:2017-07-23 15:20:09
【问题描述】:
当变量 aut 的值小于零时,我需要禁用 HyperLink 上的 NavigateUrl 属性。
我已经在我的 .cs 页面的代码隐藏中尝试了这个,但没有成功,因为 HyperLink 上的 NavigateUrl 属性已启用,尽管它会打开一个空白页面( on window popup ) 在浏览器中,当点击 ImageUrl
谁能帮帮我?
提前致谢
我的代码如下:
.cs
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (aut > 0)
{
HyperLink button = (HyperLink)e.Row.FindControl("MMM");
button.Enabled = true;
}
else
{
HyperLink button = (HyperLink)e.Row.FindControl("MMM");
button.Enabled = false;
button.NavigateUrl = "";
}
}
}
.aspx
<asp:TemplateField HeaderText="MMM" ItemStyle-HorizontalAlign="Center" ItemStyle-CssClass="ddl_Class_new">
<ItemTemplate>
<asp:HyperLink ID="MMM" runat="server" NavigateUrl='<%# (String.IsNullOrEmpty(Eval("MMM").ToString()) ? String.Format("http://...?sId={0}&s=2", HttpUtility.UrlEncode(Base64ForUrlEncode(Eval("id").ToString()))) : "") %>'
ImageUrl='<%#(String.IsNullOrEmpty(Eval("MMM").ToString()) ? "/Images/bullett/redbul.gif" : "/Images/bullett/forestbul.gif")%>'
ToolTip='<%#(String.IsNullOrEmpty(Eval("MMM").ToString()) ? "Not Exists" : "Exists")%>'
Target="_blank" BorderStyle="None" ForeColor="Transparent" OnClick="if (!confirm('Confirm ?'))return false;window.open(this.href,'playsample','width=500,height=500,left=100,top=100,scrollbars=yes,dependent=yes,toolbar=no,location=no,status=no,directories=no,menubar=no,status=no,resizable=yes');return false;"
Enabled='<%#(!String.IsNullOrEmpty(Eval("MMM").ToString()) ? false : true)%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
【问题讨论】:
-
尝试用“#”替换你的空字符串
-
@Aboc:谢谢,但我没有更改...