2012-12-21 37 views
3

我在asp.net有一個web項目 我有一個母版頁,其中包含一個鏈接按鈕,調用lkBtnUserFullName,但我無法訪問此控件Page_LoadMasterpage.master.cs 當我手動訪問該控件,我將有一個錯誤:控制不存在於母版頁的當前上下文

the name lkBtnUserFullName does not exists in current context

我怎麼能解決這個問題?

更新:

我的代碼:

<asp:LinkButton ToolTip="Please Click Here!" 
ID="lkBtnUserFullName" PostBackUrl="~/admins/profile.aspx" 
    runat="server">Majid Basirati</asp:LinkButton></span> 
MasterPage.master.cs Page_Load

lkBtnUserFullName.Text = Session["fullname"].ToString(); 
+1

顯示你的aspx標記。 –

+1

你添加'runat =「server」'linkbutton? –

+0

您是否確定控件存在於主頁上 通過查看錯誤看起來您已**刪除**該控件或它可能有不同的** id ** –

回答

0

這看起來像Visual Studio與設計問題同步。我有過幾次。通常我會嘗試以下操作:

從您的aspx中刪除不存在於designer.cs文件(不同步的控件)中的所有服務器控件。然後在代碼中移除以獲得成功構建,保存所有內容並重新啓動Visual Studio。

再試一次,它應該工作。

+0

謝謝親愛的。 designer.cs在哪裏?我在解決方案資源管理器中找不到。通知我的問題是在MasterPage –

+0

那麼你有master頁面。它包含3個文件:aspx,cs和designer.cs。設計器文件由Visual Studio自動生成,但通常不應編輯它。雖然有時它不會與aspx文件同步,所以你必須這樣做。 –

+0

好的。但是你沒有告訴我:designer.cs文件在哪裏。我在解決方案資源管理器中找不到。 –

2

右鍵點擊Solution Explorer中的母版頁文件,並選擇轉換爲Web應用程序它將重新爲你.designer文件,你將再次能夠從代碼中訪問後面

所有的母版頁服務器控件
+0

我找不到** Convert到右鍵菜單中的Web應用程序**! –

+0

這是一個網站或網絡應用程序? –

+0

是的,這是一個Web應用程序。 –

0

由您自己在當前母版頁中創建一個新的Default.Desiginer.cs文件,並創建一個像這樣的部分類。

public partial class Site_Master { 

    /// <summary> 
    /// form1 control. 
    /// </summary> 
    /// <remarks> 
    /// Auto-generated field. 
    /// To modify move field declaration from designer file to code-behind file. 
    /// </remarks> 
    protected global::System.Web.UI.HtmlControls.HtmlForm form1; 

    /// <summary> 
    /// ContentPlaceHolder1 control. 
    /// </summary> 
    /// <remarks> 
    /// Auto-generated field. 
    /// To modify move field declaration from designer file to code-behind file. 
    /// </remarks> 
    /// 
    protected global::System.Web.UI.WebControls.Label lblName; 

    /// <summary> 
    /// btnSearchEmp control. 
    /// </summary> 
    /// <remarks> 
    /// Auto-generated field. 
    /// To modify move field declaration from designer file to code-behind file. 
    /// </remarks> 
    /// 

    protected global::System.Web.UI.WebControls.Label lblBranch; 

    /// <summary> 
    /// btnSearchEmp control. 
    /// </summary> 
    /// <remarks> 
    /// Auto-generated field. 
    /// To modify move field declaration from designer file to code-behind file. 
    /// </remarks> 
    protected global::System.Web.UI.WebControls.ContentPlaceHolder ContentPlaceHolder1; 
} 

,並在您的主aspx文件中加入這一行 <%@主語言= 「C#」 AutoEventWireup = 「真」 的CodeFile = 「Site.master.cs」 繼承= 「Site_Master」 %> 繼承= 「Site_Master」是您創建的類名稱。那麼你將能夠訪問您的.cs文件中的控制。

相關問題