为什么在DataList外添加控件好用,在模版中添加的空间不好用,后台文件中没有声明,手动添加上也有问题 <asp:datalist id="dlstBclass" runat="server">
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR>
<TD align="center" colSpan="3"><%# "【"+DataBinder.Eval(Container.DataItem,"anclass").ToString()+"】"%></TD>
</TR>
<TR>
<TD><asp:Label id="Label1" runat="server">Label</asp:Label></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>
后台为
protected System.Web.UI.WebControls.DataList dlstBclass;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
book bk=new book();
DataTable dt=bk.Get_BookBigClass();

dlstBclass.DataSource=dt;
dlstBclass.DataBind(); }
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.dlstBclass.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.dlstBclass_ItemDataBound_1);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void dlstBclass_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
//
// ((DataRowView)e.Item.DataItem).Row["anclassid"].ToString();
} private void dlstBclass_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
Label.Text=((DataRowView)e.Item.DataItem).Row["anclass"].ToString();
}

解决方案 »

  1.   

    未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 60:  private void dlstBclass_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
    行 61:  {
    行 62:  labNclass.Text=((DataRowView)e.Item.DataItem).Row["anclass"].ToString();
    行 63:  }
    行 64:  }
     源文件: e:\www\book3\bookclass.aspx.cs    行: 62 
      

  2.   

    用FindControl(控件的ID)来找到你所要的控件进行处理
      

  3.   

    <asp:datalist id="dlstBclass" runat="server">
    <ItemTemplate>
    <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
    <TR>
    <TD align="center" colSpan="3"><%# "【"+DataBinder.Eval(Container.DataItem,"anclass").ToString()+"】"%></TD>
    </TR>
    <TR>
    <TD><asp:Label id="Label1" runat="server"><%# "【"+DataBinder.Eval(Container.DataItem,"anclass").ToString()+"】"%></</asp:Label></TD>
    </TR>
    </TABLE>
    </ItemTemplate>
    </asp:datalist>
      

  4.   

    虽然自己已经解决,但是richardingding的回复确认很对,接分