创建控件时出错 -Panel1 "Leyp.SQLServerDAL.SQLHelper"的类型初始值设定项引发异常

第二圣贤 2013-08-13 04:30:21
创建控件时出错 -Panel1
"Leyp.SQLServerDAL.SQLHelper"的类型初始值设定项引发异常



自定义控件,不知道是什么问题 觉得代码没问题啊!求高手指点。
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
少写了一行
public class UserTypeDropDownList : DropDownList 
{
    private bool inited = false;
    public override ListItemCollection Items()
    {
        if(!inited)
        {
            inited = true;
            this.Items.Add(new ListItem("请选择", ""));
            foreach (UserType t in LpHey.SQLServerDAL.Factory.getUserTypeDAL().getAllUserType())
            {
                this.Items.Add(new ListItem(t.TypeName, t.TypeID.ToString()));
            }
        }
        return base.Items;
    }
}
不管如何写,基本思路就是——不要写在实例化方法里!
  • 打赏
  • 举报
回复
不具体谈是什么问题了,说一下程序设计方法。 在实例化方法中出错的地方(不一定就在这里,例如可能在getUserTypeDAL方法里)是无法调试的。因此在实例化方法中,仅仅应做简单的数据初始化,不要做复杂一点的业务逻辑处理。 你可以写到普通的属性方法调用中,例如
public class UserTypeDropDownList : DropDownList 
{
    private bool inited = false;
    public override ListItemCollection Items()
    {
        if(!inited)
        {
            inited = true;
            this.Items.Add(new ListItem("请选择", ""));
            foreach (UserType t in LpHey.SQLServerDAL.Factory.getUserTypeDAL().getAllUserType())
            {
                this.Items.Add(new ListItem(t.TypeName, t.TypeID.ToString()));
            }
        }
    }
}
第二圣贤 2013-08-14
  • 打赏
  • 举报
回复
using System; using System.IO; using System.Drawing; using System.Data; using System.Data.SqlClient; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; using System.Configuration; using LpHey.Model; namespace LpHey.Components.Controls { public class UserTypeDropDownList : DropDownList { public UserTypeDropDownList() { this.Items.Add(new ListItem("请选择", "")); foreach (UserType t in LpHey.SQLServerDAL.Factory.getUserTypeDAL().getAllUserType()) { this.Items.Add(new ListItem(t.TypeName, t.TypeID.ToString())); } } } }
智商余额不足 2013-08-13
  • 打赏
  • 举报
回复
发代码,特别是构造函数调用初始化控件那部分(你实现的)

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧