3

我在 asp.net 中有一个 Web 项目我有一个母版页,其中包含一个名为 的链接按钮lkBtnUserFullName,但是当我手动访问此控件时,我无法在其中Page_Load访问Masterpage.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

在当前母版页中自己创建一个新的 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 文件中添加此行 <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site_Master" %> Inherits="Site_Master" 是您拥有的类名创建 . 然后您将能够访问 .cs 文件中的控件。

于 2013-07-24T09:50:34.673 回答
0

这看起来像 Visual Studio 与设计器问题同步。我有过几次。通常我尝试以下操作:

从您的 aspx 中删除 Designer.cs 文件中不存在的所有服务器控件(不同步的控件)。然后删除后面的代码以成功构建,保存所有内容并重新启动 Visual Studio。

再试一次,它应该工作。

于 2012-12-21T13:39:22.023 回答