2013-02-08 34 views
0

我下一步:我想設置值的HTML控件時出現錯誤

在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 

回答

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"]; 
    } 
} 

這意味着它現在可到該頁面。

0

確保您在頁面中具有該名稱的控件,並且該控件包含在.designer文件中。如果不是,則根據需要添加或刪除它。

設計師有時會與頁面的標記不同步。或者,右鍵單擊導致錯誤的頁面,然後選擇「轉換爲Web應用程序」以強制進行同步。

1

你要麼需要把這些變量公共/保護,像西蒙表現,或者你可以使用一個asp控制:

代碼前面:

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

後面的代碼:

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

+1。我喜歡你的建議比糾正錯誤更好。 –

+0

@SimonWhitehead Thx。我也是+1,因爲它仍然是一個很好的概念。 – MikeSmithDev

+0

@MikeSmithDev保護有什麼問題?爲什麼它應該公開。 –

相關問題