在ASP.NET页面的代码隐藏中,我有这个方法:
public string TestFunc()
{
return "http://www.blabla.net";
}
在标记中:
<%= TestFunc() %>
如果我运行该页面,我会在页面上看到“http://www.blabla.net”作为文本,在调试器中我输入TestFunc - 所有这些都按预期进行。
如果我把这个超链接放在同一个aspx页面上......
<asp:HyperLink ID="MyLink" runat="server" NavigateUrl='<%= TestFunc() %>'>Proceed...
</asp:HyperLink>
...我没有在调试器中输入TestFunc,生成的href HTML只包含嵌入式代码文本:href="%3C%=%20TestFunc%28%29%20%%3E"
我在这里做错了什么?我已尝试过愚蠢的试错:代替=
#
,省略=
,并用双引号'
替换单引号"
。但这一切都无济于事。现在我很难过。
提前感谢您的帮助!
答案 0 :(得分:1)
您可以使用“&lt; %%&gt;”容器内的构造支持模板(例如,结合了Bind,Eval的GridView)。对属性的简单使用将导致对表达式进行编码,并将“按原样”显示。