GridView中跳转页面的时候传值的问题
我想实现在前一个页面的GridView中的HyperLinkFiled通过ID跳转到下一个页面,下一个页面通过这个ID在数据库读取数据,这样一个动态的效果。后一个页面怎么...
我想实现在前一个页面的GridView中的HyperLinkFiled通过ID跳转到下一个页面,下一个页面通过这个ID在数据库读取数据,这样一个动态的效果。
后一个页面怎么才能获取到前一个页面的值,我写了代码:
protected void Page_Load(object sender, EventArgs e)
{
string ID = Request.Params["ID"].ToString();
string commandstr = "Select bt,wjh,nr,gxr,sj From zwgk Where ID=" + ID;
DataTable dt = getTable(commandstr);
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
this.Label1.Text = dt.Rows[0][2].ToString();
this.Label1.DataBind();
this.Label2.Text = dt.Rows[0][4].ToString();
this.Label2.DataBind();
this.Label4.Text = dt.Rows[0][5].ToString();
this.Label4.DataBind();
this.Label5.Text = dt.Rows[0][3].ToString();
this.Label5.DataBind();
}
protected DataTable getTable(string commandstt)
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\swj\\123\\123.mdb");
conn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(commandstr, conn);
da.Fill(ds, "zwgk");
conn.Close();
return ds.Tables["zwgk"];
}
不过在执行的时候commandstr报错,怎么做都不对,忘高手解决。
贴可以用的详细代码,新手谢过··· 展开
后一个页面怎么才能获取到前一个页面的值,我写了代码:
protected void Page_Load(object sender, EventArgs e)
{
string ID = Request.Params["ID"].ToString();
string commandstr = "Select bt,wjh,nr,gxr,sj From zwgk Where ID=" + ID;
DataTable dt = getTable(commandstr);
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
this.Label1.Text = dt.Rows[0][2].ToString();
this.Label1.DataBind();
this.Label2.Text = dt.Rows[0][4].ToString();
this.Label2.DataBind();
this.Label4.Text = dt.Rows[0][5].ToString();
this.Label4.DataBind();
this.Label5.Text = dt.Rows[0][3].ToString();
this.Label5.DataBind();
}
protected DataTable getTable(string commandstt)
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\swj\\123\\123.mdb");
conn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(commandstr, conn);
da.Fill(ds, "zwgk");
conn.Close();
return ds.Tables["zwgk"];
}
不过在执行的时候commandstr报错,怎么做都不对,忘高手解决。
贴可以用的详细代码,新手谢过··· 展开
展开全部
你接收的只是1个ID吧?可以使用 string id = Request.QueryString["ID"];接收.
还有,ID是int类型的吧,把它转换一下类型.
string ID = "";
string commandstr = "";
if(Request.QueryString["ID"] != null)
{
id = Request.QueryString["ID"];
commandstr = "Select bt,wjh,nr,gxr,sj From zwgk Where ID=" + Convert.ToInt32(id);
}
然后在下面调用的时候判断commandstr是否为空,部位空就继续,为空就提示.
方面里面调用接收的参数,变量名称要一样 = =
还有,ID是int类型的吧,把它转换一下类型.
string ID = "";
string commandstr = "";
if(Request.QueryString["ID"] != null)
{
id = Request.QueryString["ID"];
commandstr = "Select bt,wjh,nr,gxr,sj From zwgk Where ID=" + Convert.ToInt32(id);
}
然后在下面调用的时候判断commandstr是否为空,部位空就继续,为空就提示.
方面里面调用接收的参数,变量名称要一样 = =
展开全部
string ID = Request.Params["ID"].ToString();
你看看你接收上个页面传来的ID是否为NULL啊,代码没有什么太大的问题,如果有值的话、、、
你看看你接收上个页面传来的ID是否为NULL啊,代码没有什么太大的问题,如果有值的话、、、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
GridView中添加一个末班列,在模板列中添加linkButten标签,设置它的属性,在CommandArgument属性上绑定上ID在CommandName属性上给他一个名字
接下来在GridView的RowCommand事件上可以得到你所点击得哪一行得ID
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int AccId = Convert.ToInt32(e.CommandArgument);
string cmd = e.CommandName;
if(cmd=="de")
{
AccessoryFileManager.DeleteAccessoryFileById(AccId);
}
int fileId = Convert.ToInt32(Session["fileid"]);
DisplyAccFile(fileId);
}
接下来在GridView的RowCommand事件上可以得到你所点击得哪一行得ID
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int AccId = Convert.ToInt32(e.CommandArgument);
string cmd = e.CommandName;
if(cmd=="de")
{
AccessoryFileManager.DeleteAccessoryFileById(AccId);
}
int fileId = Convert.ToInt32(Session["fileid"]);
DisplyAccFile(fileId);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额 protected DataTable getTable(string commandstt)//这里重命名了 和上面的那个不一样哦.. 多了个t
OleDbDataAdapter da = new OleDbDataAdapter(commandstr, conn)
//而这里还是用的以前的cmd语句 所以为空 当然报错
OleDbDataAdapter da = new OleDbDataAdapter(commandstr, conn)
//而这里还是用的以前的cmd语句 所以为空 当然报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询