private void dl_blank_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
PlaceHolder ph=new PlaceHolder();
ph=(PlaceHolder)e.Item.FindControl("PlaceHolder2"); TextBox tba=new TextBox();
tba.Columns=100;
tba.BorderStyle=BorderStyle.None;
tba.TextMode=TextBoxMode.SingleLine;
ph.Controls.Add(tba); //此行报错:未将对象引用设置到对象的实例
}
我这段代码错在什么地方啊?
为什么总是提示:“行 103: ph.Controls.Add(tba);”未将对象引用设置到对象的实例呢?
{
PlaceHolder ph=new PlaceHolder();
ph=(PlaceHolder)e.Item.FindControl("PlaceHolder2"); TextBox tba=new TextBox();
tba.Columns=100;
tba.BorderStyle=BorderStyle.None;
tba.TextMode=TextBoxMode.SingleLine;
ph.Controls.Add(tba); //此行报错:未将对象引用设置到对象的实例
}
我这段代码错在什么地方啊?
为什么总是提示:“行 103: ph.Controls.Add(tba);”未将对象引用设置到对象的实例呢?
解决方案 »
- web.config: 如何这样设置访问权限?
- 一个初级问题!!vs2005中的panel和table控件!
- 关于Flex
- 一个日访问量5000人次左右的网站,需要什么样的配置
- IDataParameter数组参数的问题
- 请教一个ImageButton的问题
- 请问火狐浏览器上的重复提交怎么解决?
- ASP.NET2.0模板的问题
- 显示图片时 不能够获取正确 的 路径if((System.IO.Path.GetExtension(entry.Name)=="gif") || (System.IO.Path.GetExtension(entry.Name)
- 急,我的WebServer 的Session值为什么老是丢?
- 求证application里保存的对象生存期问题?
- 很菜的问题:刷新代码(C#)!!!!!!!!!!!!!!!!!!!!!!
if (ph == null)
{
Response.Write("Something is wrong here");
return;
}
为什么会这样呢,这个ItemDataBound事件是如何运行的啊?从我得到的页面结果来看ItemDataBound事件一共运行的8次,前四次的输出是"wrong",后四次就是生成的我想要的结果。下面是数据邦定的代码和事件代码:
public void BindList()//数据邦定代码
{
SqlConnection conn=new SqlConnection("server=(local);uid=sa;pwd=10100313;database=Netexam");
string commstr="select top 10 QTitle,Bnum from Blank";
SqlDataAdapter da=new SqlDataAdapter(commstr,conn);
DataSet ds=new DataSet();
conn.Open();
da.Fill(ds,"blank");
conn.Close();
this.dl_blank.DataSource=ds.Tables["blank"].DefaultView;
this.dl_blank.DataBind();
}private void dl_blank_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
PlaceHolder ph=new PlaceHolder();
ph=(PlaceHolder)e.Item.FindControl("PlaceHolder2"); TextBox tba=new TextBox(); if (tba!=null && ph!=null)
{
tba.ID="tba";
tba.Columns=100;
tba.BorderStyle=BorderStyle.None;
tba.TextMode=TextBoxMode.SingleLine; ph.Controls.Add(tba);
}
else
{
Response.Write("wrong");
}
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
BindList();
}
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//your stuffs
}
}