下面代码该怎么修改??

海峰 2003-11-24 05:42:48
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
SqlConnection ct= new SqlConnection("server=localhost;database=oa;uid=sa;pwd=;");
// SqlDataAdapter cmd=new SqlDataAdapter();
cmd.SelectCommand=new SqlCommand("select * from 项目",ct);
SqlCommandBuilder builder = new SqlCommandBuilder(cmd);
// DataSet dtst=new DataSet();
cmd.Fill(ds,"项目"); //向数据集装入数据
DataGrid1.DataSource=ds;
向winForm上的dataGrid1装入数据:dataGrid1.SetDataBinding(dataset1,"表名");
//向webForm上的dataGrid1装入数据:dataGrid1.DataBind();
DataGrid1.DataBind();
}

}

在Page_Load()中用了if(!Page.IsPostBack){}时,运行到下面的代码就要报错,不用时,每点一次页面中的按钮,页面都要刷新一次,该怎么办

TextBox1.Text=ds.Tables [ "项目" ].Rows[DataGrid1.SelectedIndex][0].ToString().Trim();
...全文
18 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
海峰 2003-11-25
  • 打赏
  • 举报
回复
谢谢各位,我马上去试
niwalker 2003-11-24
  • 打赏
  • 举报
回复
ds在每次Page_Load的时候,都会被重新定义,这就是你出错的原因,解决方法:
把ds保存到ViewState或者Session中,每次DataGrid从ViewState或者Session中获取DataSource:
既然你已经困惑了一个月 :), 那么你用下面的代码替换你的代码试试:

private DataSet ds; //数据源变量声明
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
ds = (DataSet)ViewState["xm"];
if (ds == null)
LoadData();

if(!Page.IsPostBack)
{
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
}

}

private void LoadData()
{
SqlConnection ct= new SqlConnection ("server=localhost;database=oa;uid=sa;pwd=;");
SqlDataAdapter cmd=new SqlDataAdapter();
cmd.SelectCommand=new SqlCommand("select * from 项目",ct);
ds=new DataSet();
cmd.Fill(ds,"项目");
ViewState["xm"] = ds; //保存DataSet到ViewState
}

如果是使用Session,就用Session代替ViewState
wwonion 2003-11-24
  • 打赏
  • 举报
回复
SqlConnection Conn = new SqlConnection("server=localhost;database=oa;uid=sa;pwd=;");
//返回一个数据表格dt

DataSet ds = new DataSet();
SqlDataAdapter dap = new SqlDataAdapter("select * from 项目",Conn);
dap.Fill(ds);
dap.Dispose();
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
Conn.Close();
Conn.Dispose();
seztty 2003-11-24
  • 打赏
  • 举报
回复
CT.CLOSE()
wkzjl 2003-11-24
  • 打赏
  • 举报
回复
你忘了ct.Open()了

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧