我是ASP.NET的新手,无法弄清楚如何实现这一目标......
我的代码(需要修复):
<asp:HyperLink runat="server"
NavigateUrl="~/EditReport.aspx?featureId=<%= featureId %>" />
featureId在支持代码中定义为整数。我想href就像......
/EditReport.aspx?featureId=2224
...而是我得到......
/EditReport.aspx?featureId=<%= featureId %>
答案 0 :(得分:1)
您可以在不使用HyperLink控件的情况下轻松完成此操作:
<a href='<%=ResolveUrl("~/EditReport.aspx?featureId=" + featureId) %>'>Link</a>
答案 1 :(得分:0)
大多数asp.net开发人员曾经遇到过这种情况。这是我最喜欢的解决方案,因为它适用于任何服务器控件:
http://weblogs.asp.net/infinitiesloop/archive/2006/08/09/The-CodeExpressionBuilder.aspx
有效地,您将这个人的精彩小自定义ASP.NET表达式生成器添加到您的项目中,然后将控件重写为如下所示:
<asp:HyperLink runat="server"
NavigateUrl='<%$ CODE: String.Format("~/EditReport.aspx?featureId={0}", featureId) %>' />
他解释说它比<%# %>
方法更清晰,因为没有涉及ViewState。还要注意使用单引号,它允许在属性中使用双引号。