3

asp.net に Web プロジェクトがあります。 というリンク ボタンを含むマスター ページがありますが、このコントロールに 手動でアクセスすると、lkBtnUserFullNameこのコントロールにアクセスできず、次のエラーが発生します。Page_LoadMasterpage.master.cs

名前 lkBtnUserFullName は現在のコンテキストに存在しません

どうすればこれを解決できますか?

アップデート:

私のコード:

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

の: Page_Load_MasterPage.master.cs

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

3 に答える 3

2

ソリューション エクスプローラーでマスター ページ ファイルを右クリックし、[ Web アプリケーションに変換] を選択すると、.designer ファイルが再生成され、コード ビハインドからすべてのマスター ページ サーバー コントロールに再びアクセスできるようになります。

于 2012-12-21T15:51:07.383 に答える
0

Visual Studio がデザイナーの問題と同期しているようです。私はこれを数回持っていました。通常、私は次のことを試みます:

designer.cs ファイルに存在しないすべてのサーバー コントロール (非同期のコントロール) を aspx から削除します。次にコード ビハインドを削除してビルドを成功させ、すべてを保存して Visual Studio を再起動します。

再試行してください。うまくいくはずです。

于 2012-12-21T13:39:22.023 に答える
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 ファイルにこの行を追加します作成した 。その後、.cs ファイルのコントロールにアクセスできるようになります。

于 2013-07-24T09:50:34.673 に答える