NavigateUrl和EVAL

时间:2010-08-16 09:27:48

标签: javascript asp.net datagrid hyperlink navigateurl

我正在尝试导航网址 以这种方式

            <asp:HyperLink runat="server" NavigateUrl='javascript:NavigateUrl("<%#Eval("TicketID")%>","<%=RedirectURL %>");'><%# Eval("TicketID") %></asp:HyperLink>                

但是在Mozilla浏览器的javascript错误控制台中发生错误。

参数列表后

错误:缺失) 源文件:javascript:NavigateUrl(“&lt;%#Eval(”TicketID“)%&gt;”,“&lt;%= RedirectURL%20%&gt;”); 行:1,列:22 源代码: NavigateUrl(“&lt;%#Eval(”TicketID“)%&gt;”,“&lt;%= RedirectURL%&gt;”);

我想删除错误。 但功能还可以。

3 个答案:

答案 0 :(得分:1)

看起来你在转发器里。执行此操作的最佳方法是在ItemDataBound事件中绑定超链接NavigateURL。

void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        HyperLink hyperLink = (HyperLink)e.Item.FindControl("hyperLinkid");
        hyperLink.NavigateURL = "url";
    }
}

这是非常粗略的代码,但它足以给你一个起点!

干杯,肖恩

答案 1 :(得分:0)

怎么样:

<asp:HyperLink runat="server" NavigateUrl="javascript:NavigateUrl('<%#Eval("TicketID")%>','<%=RedirectURL %>');"><%# Eval("TicketID") %></asp:HyperLink>  

答案 2 :(得分:0)

查看TicketID&amp;的实际值RedirectURL未呈现。 asp:HyperLink是一个服务器控件。 &LT;%#...%GT;是一个绑定标记。控制是数据绑定吗?