问题描述
- asp.net gridview 问题
- asp:TemplateField
详细 图书编号 图书名 管理编号 详细 报错如下
DataBinding:“System.Data.DataRowView”不包含名为“BookID”的属性。]????
这是后台代码
public partial class BookSearch : System.Web.UI.Page
{
protected void Page_Load(object sender EventArgs e)
{
try
{
//验证Session对象,判断用户是否登陆
if (Session[""UserID""].ToString() == """" || Session[""UserID""].ToString() == null || Session[""Level""].ToString() != ""2"")
{
Response.Redirect(""Login.aspx"");
return;
}
}
//Session对象未初始化,跳转登陆页面。
catch (NullReferenceException)
{
Response.Redirect(""Login.aspx"");
}
lblUserName.Text = Session[""UserName""].ToString();
if (!IsPostBack)
{
GridView1.DataSource = BookManager.SelectAllBooks();
GridView1.DataBind();
}
}
protected void btnSearch_Click(object sender EventArgs e)
{
if (txtkey.Text.Trim() == """")
{
GridView1.DataSource = BookManager.SelectAllBooks();
GridView1.DataBind();
}
else
{
GridView1.DataSource = BookManager.SelectBookByType(DropDownList1.SelectedValue txtkey.Text);
GridView1.DataBind();
}
}
}
解决方案
检查下绑定gridview之前的数据集中是否有BookID属性。
解决方案二:
Gridview的Width属性不要用百分制来控制,用像素,即width=600PX而不是WIDTH=100%
解决方案三:
可能是你在绑定gridview 时绑定了BookID字段,但是sql根本没有查出来