这段C#程序运行后,网页上为什么是空白?GRIDVIEW没有显示.
usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingS...
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Xml.Linq;
public partial class page1_2 : System.Web.UI.Page
{
SqlConnection sqlcon;
SqlCommand sqlcom;
string strCon = "server=PROFESSIONAL-PC;database=educate;user id=sa;password=sa;";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
TextBox1.Text=(Session["id"].ToString().Trim());
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlStr = "delete from card where number='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
sqlcon = new SqlConnection(strCon);
sqlcom = new SqlCommand(sqlStr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sqlStr = "update card set name ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',tel ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',workplace ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',address ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "' where number='"+ GridView1.DataKeys[e.RowIndex].Value.ToString() +"'";
sqlcon = new SqlConnection(strCon);
sqlcom = new SqlCommand(sqlStr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
GridView1.EditIndex = -1;
bind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
public void bind()
{
string sqlStr = "select number,name,tel,workplace,address from card where id='"+ TextBox1.Text.Trim() +"'";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlStr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds);
this.GridView1.DataSource = myds;
this.GridView1.DataKeyNames = new string[] { "number" };
this.GridView1.DataBind();
sqlcon.Close();
}
}
程序有点长~~求大家帮帮忙吧~~现在不能显示,所以里面的那些功能都没法调试~~~
运行不报错~~就是空白网页~~
AutoGenerateColumnsy设置为true后~~依然空白~~~ 展开
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Xml.Linq;
public partial class page1_2 : System.Web.UI.Page
{
SqlConnection sqlcon;
SqlCommand sqlcom;
string strCon = "server=PROFESSIONAL-PC;database=educate;user id=sa;password=sa;";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
TextBox1.Text=(Session["id"].ToString().Trim());
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
bind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlStr = "delete from card where number='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
sqlcon = new SqlConnection(strCon);
sqlcom = new SqlCommand(sqlStr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string sqlStr = "update card set name ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',tel ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',workplace ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',address ='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "' where number='"+ GridView1.DataKeys[e.RowIndex].Value.ToString() +"'";
sqlcon = new SqlConnection(strCon);
sqlcom = new SqlCommand(sqlStr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
GridView1.EditIndex = -1;
bind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
bind();
}
public void bind()
{
string sqlStr = "select number,name,tel,workplace,address from card where id='"+ TextBox1.Text.Trim() +"'";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlStr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds);
this.GridView1.DataSource = myds;
this.GridView1.DataKeyNames = new string[] { "number" };
this.GridView1.DataBind();
sqlcon.Close();
}
}
程序有点长~~求大家帮帮忙吧~~现在不能显示,所以里面的那些功能都没法调试~~~
运行不报错~~就是空白网页~~
AutoGenerateColumnsy设置为true后~~依然空白~~~ 展开
展开全部
1. 确认GridView是否将AutoGenerateColumns设置为true,否则,除非你使用Column标签在aspx页面中声明每一列,否则不会出现任何数据。
2. 如果你确认AutoGenerateColumns(自动生成列)已经设置为true,那么输出myds来查看myds是否含有数据,以此追查到数据库,直到找到错误位置。个人推测第一步即可解决你的问题。没有再补充。
2. 如果你确认AutoGenerateColumns(自动生成列)已经设置为true,那么输出myds来查看myds是否含有数据,以此追查到数据库,直到找到错误位置。个人推测第一步即可解决你的问题。没有再补充。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不确定问题的原因,我考虑可能有2个可能
1. gridview的datasource绑定的是dataset,而dataset中可能会存在很多datatable,而gridview不知道应该使用哪一个datatable。 所以尝试 改为
this.GridView1.DataSource = myds.Tables[0];
或者指定dagagrid的datamember为datatable的名字
2. 你可能禁用的datagrid的自动生成列方法,尝试设置this.GridView1.AutoGenerateColumns=true; 或者自己为gridview添加模板
1. gridview的datasource绑定的是dataset,而dataset中可能会存在很多datatable,而gridview不知道应该使用哪一个datatable。 所以尝试 改为
this.GridView1.DataSource = myds.Tables[0];
或者指定dagagrid的datamember为datatable的名字
2. 你可能禁用的datagrid的自动生成列方法,尝试设置this.GridView1.AutoGenerateColumns=true; 或者自己为gridview添加模板
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (!IsPostBack)
{
bind();
}
TextBox1.Text=(Session["id"].ToString().Trim());
这里的问题 程序从上而下 先执行bind()方法 而你bind()方法你的id是TextBox1的值 此时TextBox1还没值了 所以没值了哈
{
bind();
}
TextBox1.Text=(Session["id"].ToString().Trim());
这里的问题 程序从上而下 先执行bind()方法 而你bind()方法你的id是TextBox1的值 此时TextBox1还没值了 所以没值了哈
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,我想知道你这个程序有没有报错?
然后,使用GirdView时,需要和数据源控件绑定,这个myds不是赋给GridView1.DataSource,而是赋给和GirdView 绑定的数据源控件的DataSource
不知道这么说能否明白,不清楚的话再补充把
然后,使用GirdView时,需要和数据源控件绑定,这个myds不是赋给GridView1.DataSource,而是赋给和GirdView 绑定的数据源控件的DataSource
不知道这么说能否明白,不清楚的话再补充把
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询