为什么在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();
}
<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();
}
说明: 执行当前 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
<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>