求救阿,大虾们,快来帮我看看这个很简单的问题啊~~~
我的datagrid绑定了数据,其中一个列是模板来的,上面有个超链接“查看”,只要点击上面的链接就可以打开一个页面,上面可以自动显示原来页面模板上面相应的绑定内容,例如同一行的ID,Name 等,这里我想说清楚的是把值传到另外一个页面显示而不是在这个页面的datagrid上面显示的,我的代码如下,但是另一个页面显示的总是datagrid上面第一行的数据,怎么不是我点哪行的“查看”就显示相应行的数据呢?
有datagrid的页面:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
conn=new SqlConnection (System.Configuration.ConfigurationSettings.AppSettings["connection"]);
if(!Page.IsPostBack)
{
Session.Add("ID",""); //定义Session
Session.Add("Name","");
BindGrid();
}
}
private void dataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string str="select ID,Name,BeginTime,ZiJin,State from XiangMu order by ID ASC";
int i = Convert.ToInt32(dataGrid1.DataKeys[e.Item.ItemIndex]);
SqlCommand dr=new SqlCommand(str+i,conn);
SqlCommand comm=new SqlCommand(str,conn);
try
{
conn.Open();
SqlDataReader reader=comm.ExecuteReader();
reader.Read();
Session ["ID"]=reader["ID"];
Session ["Name"]=reader["Name"];
}
catch(Exception ee)
{
Response.Write("<script languge=javascript> alert('"+ee.Message+"');</script>");
}
finally
{
conn.Close();
}
}
问题点数:10、回复次数:4Top
1 楼jocundmo()回复于 2006-05-02 15:15:25 得分 0
SQL语句没有where啊,你是不是要选择一条符合ID的记录啊,通过e.Item.ItemIndex找到了ID后要Where的啊,否则你取的不是集合记录嘛?还是我没听清楚你说的Top
2 楼dino815613(浪客)回复于 2006-05-02 15:17:57 得分 0
恩,谢谢你,我的另外一个页面上有两个textbox分别用来显示datagrid上面的ID和Name的,不用where都行的吧Top
3 楼dino815613(浪客)回复于 2006-05-02 15:21:37 得分 0
而那两个textbox就只有两条语句而言,textbox1.Text=Session["ID"]
textbox2.Text=Session["Name"]
还有,这个Session要不要定义的,是不是一定要Session.Add("ID","")这样来定义的?Top
4 楼dino815613(浪客)回复于 2006-05-02 16:00:47 得分 0
这个问题我初步搞定了,但是我上面的语句在模板中的超链接没有反应的,只有我在datagrid属性上加选择列,上面的dataGrid1_ItemCommand才有效,试问怎么在超链接上实现这样的功能呢?谢谢了Top




