我有一个web用户控件leftItem里面放了一个datalist已对字段进行了绑定。public class leftItem: System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.DataList dataList1;
private DataSet ds;
public DataSet ItemDataSet //自定义属性
{
get{return ds;}
set{ds=value;}
} public void setDataBind() //自定义方法
{
dataList1.DataSource=ds; //报错点
dataList1.DataBind();
this.DataBind();
}
}然后我把控件拖到web窗体上后cs里面写:
private leftItem leftItem1;
page_load里面
{
.....
leftItem1.ItemDataSet=myds;
leftItem1.setDataBind();
}这样写,没问题,不报任何错误。
但是我换成
page_load里面
{
leftItem leftItem1=new leftItem()
leftItem1.ItemDataSet=myds.Tables[0].DefaultView;;
this.Page.Controls.Add(leftItem1);
leftItem1.setDataBind();
this.DataBind();
}结果就开始报错了,然后错误居然指在我的控件的“dataList1.DataSource=ds;”这句上面,然后显示说“未将对象引用设置到对象的实例”WHY???
为什么换个写法,记录集什么都没变,居然会出问题呢?!我在dataList1.DataSource=ds;这句加了个断点,按F11分步进行调试时,看到,当程序运行到这里时,居然看到局部变量里面发现dataList1为<未定义的值>,真是搞不懂原因了
{
protected System.Web.UI.WebControls.DataList dataList1;
private DataSet ds;
public DataSet ItemDataSet //自定义属性
{
get{return ds;}
set{ds=value;}
} public void setDataBind() //自定义方法
{
dataList1.DataSource=ds; //报错点
dataList1.DataBind();
this.DataBind();
}
}然后我把控件拖到web窗体上后cs里面写:
private leftItem leftItem1;
page_load里面
{
.....
leftItem1.ItemDataSet=myds;
leftItem1.setDataBind();
}这样写,没问题,不报任何错误。
但是我换成
page_load里面
{
leftItem leftItem1=new leftItem()
leftItem1.ItemDataSet=myds.Tables[0].DefaultView;;
this.Page.Controls.Add(leftItem1);
leftItem1.setDataBind();
this.DataBind();
}结果就开始报错了,然后错误居然指在我的控件的“dataList1.DataSource=ds;”这句上面,然后显示说“未将对象引用设置到对象的实例”WHY???
为什么换个写法,记录集什么都没变,居然会出问题呢?!我在dataList1.DataSource=ds;这句加了个断点,按F11分步进行调试时,看到,当程序运行到这里时,居然看到局部变量里面发现dataList1为<未定义的值>,真是搞不懂原因了
解决方案 »
- gridview 固定表头?
- 无法引用命名空间
- $.get("sendmail.ashx", { content: $("#content").text(),shou:cc }, function(a) { alert(a); });
- 散分:讨论下.net 下大文章分页怎么分效益会更高
- 菜鸟提问:gridview中循环问题
- dataSet怎样像从数据库中提取数据一样来提取数据?
- 请教:为什么DataView.RowFilter里面不能使用类似“a%b”的格式?急!
- 初学mvc,一点感受
- 请教一下大家 GridView中选定一行后,怎样把其中的每列数据绑定到TextBox中,并显示!谢谢
- C# 获取外部窗口句柄挂载IIS后,始终未0.跪求解决方案
- 请教关于TreeView的问题
- 求“找出最近三年年度考核为称职以上的职工的SQL语句”,难!!!
leftItem leftItem1 = (leftItem)Page.LoadControl("该控件的相对路径");
leftItem1.ItemDataSet=myds.Tables[0].DefaultView;;
this.Page.Controls.Add(leftItem1);
leftItem1.setDataBind();
this.DataBind();
比如说我要在一个单元格TD1内添加这个控件,怎么办呢?
TD1.Page.LoadControl("...")??????
恐怕不行吧!
leftItem1.ItemDataSet=myds.Tables[0].DefaultView;;
TD1.Controls.Add(leftItem1);
leftItem1.setDataBind();leftItem leftItem2 = (leftItem)Page.LoadControl("该控件的相对路径");
leftItem2.ItemDataSet=myds.Tables[1].DefaultView;;
TD1.Controls.Add(leftItem2);
leftItem2.setDataBind();//........
//........