尝试将设置值设置为html控件时出错

时间:2013-02-08 03:49:41

标签: c# asp.net

我接下来会这样做:

在Page_Load事件中:

string linkPatches = "PageProcessor.aspx?Page=Patches.aspx&system=" + Request.QueryString["system"];

在html中:

<li><a href="<% =linkPatches %>" style="color:White;">Патчи</a></li>

我得到下一个错误:

CS0103: The name 'linkPatches' does not exist in the current context

3 个答案:

答案 0 :(得分:2)

您的变量linkPatchesPage_Load事件范围的本地。

您必须在课程级别声明此功能才能正常工作:

public class Your_Page_Name_Here : Page {
    /* public or */ protected string linkPatches;

    public void Page_Load(/*etc*/) {
        linkPatches = "PageProcessor.aspx?Page=Patches.aspx&system=" + Request.QueryString["system"];
    }
}

这意味着它现在可供页面使用。

答案 1 :(得分:1)

您需要将变量设为public / protected,如Simon所示,或者您可以使用asp控件:

代码前端:

<asp:HyperLink ID="_linkPatches" runat="server">Патчи</asp:HyperLink>

代码背后:

_linkPatches.NavigateUrl = "PageProcessor.aspx?Page=Patches.aspx&system=" + Request.QueryString["system"];

答案 2 :(得分:0)

确保页面中有一个具有该名称的控件,并且它包含在.designer文件中。如果没有,则根据需要添加或删除它。

设计师有时会与页面标记不同步。或者,右键单击导致错误的页面,然后选择“转换为Web应用程序”以强制同步。