新手.net问题 - 找不到控制权?

时间:2011-04-03 16:26:41

标签: visual-studio-2008

我有一个名为MasterPages/Wrapper.master.cs的文件,其中包含以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class vehicles_2011_experience_MasterPages_Wrapper_news : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
                Header_global.Controls.Add(Page.LoadControl("~/en/Controls/Header_global.ascx"));
    }
}

当我尝试构建解决方案时,我收到错误消息:

当前上下文中不存在名称“Header_global”。文件~/en/Controls/Header_global.ascx已存在。

那么如何“配置”Visual Studios以成功构建此解决方案?

1 个答案:

答案 0 :(得分:0)

你到底想要做什么?从这行代码:

Header_global.Controls.Add(Page.LoadControl("~/en/Controls/Header_global.ascx"));

看起来你正试图为自己添加一个控件。我怀疑这是意图。

该错误基本上告诉您在Header_global方法的上下文中没有声明的玻璃Page_Load实例。主页面上是否存在此标头控件的实例?或者您是否尝试动态创建一个?

如果您尝试动态创建一个,那么您需要将其添加到页面,而不是自己。通常,执行此操作的一种好方法是在页面的某处设置PlaceHolder控件并将其添加到该页面。因此,在创建PlaceHolder控件之后,代码行将类似于:

PlaceHolder1.Controls.Add(Page.LoadControl("~/en/Controls/Header_global.ascx"));