C# 用于HTML输出的上下文外字符串变量

C# 用于HTML输出的上下文外字符串变量,c#,asp.net,C#,Asp.net,我试图理解为什么变量myUrl在下面的示例中不符合上下文。处理这种情况的最好方法是什么?还有其他选择吗?代码是ASP.NET页面中的C# <% string myUrl = "http://www.website.com"; %> <ul class="footerLinks"> <li><a href="<%= myUrl %>/index.html">Home</a></li> </ul>

我试图理解为什么变量
myUrl
在下面的示例中不符合上下文。处理这种情况的最好方法是什么?还有其他选择吗?代码是ASP.NET页面中的C#

<% string myUrl = "http://www.website.com"; %>
<ul class="footerLinks">
    <li><a href="<%= myUrl %>/index.html">Home</a></li>
</ul>


这是因为字符串变量首先应该在类级别设置为public

public String myUrl
然后需要在
页面\u PreRenderComplete
事件中调用
DataBind()方法

protected void Page_PreRenderComplete(object sender, EventArgs e)
{
    DataBind();
}

因为
虽然这是一个解决方案,但它没有解释在
  • 标记中调用
    字符串时
    声明超出范围的原因。这是因为在呈现程序解释
    时未定义
    myUrl
    变量,“超出上下文”表示“超出范围”?你的情况如何?你的代码片段适合我。“主页”列表项的href指向“”。我在大众快车2010上测试了它。