关于datagrid超连接的问题
一共两个页面 第一个显示学生学号 第二个显示详情
其中第一个页面里有这么一段话
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField= "Student_id "
DataNavigateUrlFormatString= "Detail.aspx?sid={0} "
DataTextField= "Student_id "
HeaderText= "详情 "> </asp:HyperLinkColumn>
</Columns>
其中 DataNavigateUrlFormatString= "Detail.aspx?sid={0} "解释一下 sid有什么作用? 我另外一个页面Detail.aspx页面里的select * from student where student_id=sid 这样好象不行啊 该怎么做啊? 大家明白我的意思吗 就是点那个连接就出现学生的详情
------解决方案--------------------你要在detail.aspx页上用Request[ "sid "]获取这个参数后才能使用
------解决方案--------------------sid是传到Detail.aspx的参数,可以用Request.QueryString[ "sid "]取得该值
------解决方案--------------------sid表示你要显示的是哪一条记录,在数据库中根据sid来查找相应的记录.在第二个页面中不能直接使用sid,应该先指定一个数值接收sid,如string sid = Request.QueryString[ "sid "]。然后再查询select * from student where student_id=sid
------解决方案--------------------sid是传到Detail.aspx的参数,可以用Request.QueryString[ "sid "]取得该值,这个是跨页面传值的一个方法而已,利用url参数来传。
DataNavigateUrlFormatString= "Detail.aspx?sid={0},这个是构造了一个url字符串,并指定sid这个url参数的值是数据集中的student_id字段
------解决方案--------------------页面Detail.aspx页面里的select * from student where student_id=sid
应该这样写类似的代码
sid = Request.QueryString[ "sid "].Trim();
strSql = "select * from student where student_id= "+sid(这里如果数据库中student_id是字符型的,那么得变成
"select * from student where student_id=‘ "+sid+“’”,如果是数值型的那么就使用我这个
------解决方案--------------------DataNavigateUrlField= "Student_id " 那个{0}的值就是根据这个取的...
跳转到另一个页面的时候Request.QueryString[ "sid "] 就行了...
------解决方案--------------------Student_id是你的数据源的字段哈