这段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后~~依然空白~~~
展开
 我来答
bosnma
2010-03-28 · TA获得超过124个赞
知道答主
回答量:44
采纳率:0%
帮助的人:43.5万
展开全部
1. 确认GridView是否将AutoGenerateColumns设置为true,否则,除非你使用Column标签在aspx页面中声明每一列,否则不会出现任何数据。

2. 如果你确认AutoGenerateColumns(自动生成列)已经设置为true,那么输出myds来查看myds是否含有数据,以此追查到数据库,直到找到错误位置。个人推测第一步即可解决你的问题。没有再补充。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友16ad9e1
2010-03-28 · TA获得超过774个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:504万
展开全部
不确定问题的原因,我考虑可能有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添加模板
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hy_0825
2010-03-28 · 超过23用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:68.3万
展开全部
if (!IsPostBack)
{
bind();
}
TextBox1.Text=(Session["id"].ToString().Trim());

这里的问题 程序从上而下 先执行bind()方法 而你bind()方法你的id是TextBox1的值 此时TextBox1还没值了 所以没值了哈
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cosisis
2010-03-28 · TA获得超过1265个赞
知道小有建树答主
回答量:589
采纳率:100%
帮助的人:221万
展开全部
首先,我想知道你这个程序有没有报错?
然后,使用GirdView时,需要和数据源控件绑定,这个myds不是赋给GridView1.DataSource,而是赋给和GirdView 绑定的数据源控件的DataSource
不知道这么说能否明白,不清楚的话再补充把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式