在ASP.NET中动态创建面板时出错

时间:2013-08-31 18:28:40

标签: c# asp.net

我正在创建一个面板,以便用一些控件来填充它,但是当我尝试编写它的属性时我遇到了错误。

我的代码:

public partial class _Default : System.Web.UI.Page
{

      Panel pbx;
        protected void Page_PreInit(object sender, EventArgs e)
        {
            //Create a Dynamic Panel
            pbx = new Panel();
            pbx.ID = "pbx";
            pbx.BorderWidth = 1;
            pbx.Width = 300;
            this.form1.Controls.Add(pbx);
        }

//some other functions
}

Visual Studio 2012强调“ID”,“BorderWidth”和“Width”字样,因此我无法运行该项目。其中一个错误是这样的:

  

'simplePanel.Panel'不包含'BorderWidth'的定义   没有扩展方法'BorderWidth'接受第一个参数   类型'simplePanel.Panel'可以找到(你错过了使用   指令或程序集引用?)

编辑:我可以创建一个没有问题的文本框或标签。但不是专家组。

2 个答案:

答案 0 :(得分:2)

有一个名为simplePanel.Panel的类与System.Web.UI.WebControls.Panel冲突(我假设您正在尝试引用它)。如果您的_Default类也在simplePanel命名空间中,那么您需要完全限定对Panel的引用,以便编译器知道您的意思:

public partial class _Default : System.Web.UI.Page
{
    System.Web.UI.WebControls.Panel pbx;
    protected void Page_PreInit(object sender, EventArgs e)
    {
        //Create a Dynamic Panel
        pbx = new System.Web.UI.WebControls.Panel();

答案 1 :(得分:0)

设置宽度如下:

pbx.Width = new Unit("300px");

它可以帮助你解决问题。