我按照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>
答案 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")) %>'