带有Eval()的NavigateUrl的HyperLink没有触发

时间:2016-05-18 15:16:55

标签: asp.net vb.net

我按照HyperLink with NavigateUrl with Eval(). Where is the mistake?的回答。但它没有打开页面。有人会告诉我该怎么做。

我的代码:

  <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ActionNumber") %>' NavigateUrl='<%# String.Format("/orders/orderAction.aspx?orderID={0}", DataBinder.Eval(Container.DataItem, "ActionNumber")%>)' Target="_blank"> </asp:HyperLink>

我使用IE中的开发工具检查了这样的html代码中的控件:

 <a id="dgrd_ctl02_HyperLink1" href='<%#%20String.Format("/orders/orderBasics.aspx?orderID={0}", DataBinder.Eval(Container.DataItem, "ActionNumber")%>)'>VA_QA_5666</a>

2 个答案:

答案 0 :(得分:0)

在ASP中,最好以这种方式编写路由:

SELECT
    '{"data":[', 
    (SELECT STUFF((SELECT ',' + '{"{#DBNAME}":"' + [Name] + '"}' 
                   FROM master..sysdatabases 
                   ORDER BY [Name] 
                   FOR XML PATH('')), 1, 1, '')) ,']}' 
FOR XML PATH('')

所以在你的代码中,你应该有:

  ~/YourRoute/SubRoute

答案 1 :(得分:0)

NavigateUrl表达式的末尾,括号不正确:

NavigateUrl='<%# String.Format("/orders/orderAction.aspx?orderID={0}", DataBinder.Eval(Container.DataItem, "ActionNumber")) %>'