在HTML输出中使用的上下文之外的字符串变量
本文关键字:上下文 字符串 变量 HTML 输出 | 更新日期: 2023-09-27 17:58:08
我试图理解为什么变量myUrl
在下面的例子中断章取义。处理这种情况的最佳方法是什么?有其他选择吗?代码是ASP.NET页中的C#。
<% string myUrl = "http://www.website.com"; %>
<ul class="footerLinks">
<li><a href="<%= myUrl %>/index.html">Home</a></li>
</ul>
这是因为<%=
是在脚本组件之前呈现的。如果您在代码隐藏(Page_Load
或Init
事件)中设置了myUrl
,那么它应该如您所期望的那样进入页面。显然,还要删除标记中的变量声明。
首先,您的字符串变量应该在class级别设置为public。
public String myUrl
然后您需要在Page_PreRenderComplete
事件中调用DataBind() method
:
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
DataBind();
}
因为<%= expressions
是在渲染时评估的。