CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

请教大家了,如何在DataGrid中进行多个参数的传递?

楼主tmacwow()2005-09-03 22:44:55 在 .NET技术 / ASP.NET 提问

我在DataGrid中添加了一个超级链接列,设置了DataNavigateUrlField,后在DataNavigateUrlFormatString中用book.aspx?bookid={0}来访问,可我不知道如何进行多个参数的传递,还请高手不吝赐教。 问题点数:50、回复次数:14Top

1 楼karykwan(独行者)回复于 2005-09-03 22:48:57 得分 5

以上  
  DataNavigateUrlField="DeptID"   DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}"    
  改为:  
  DataNavigateUrl="LeaveWordDeptQuery.aspx?DeptID=<%#   DataBinder.Eval(Container.DataItem,"DeptID")%>&Name=<%#   DataBinder.Eval(Container.DataItem,"DeptName")%>"  
   
  其中DeptID,DeptName为你的字段名  
  Top

2 楼wenl(kenshin)回复于 2005-09-03 23:04:52 得分 0

markTop

3 楼crystal1204(寻找未来)回复于 2005-09-03 23:17:22 得分 0

mark   too!Top

4 楼xyunsh(学海无涯,回头是岸)回复于 2005-09-03 23:40:03 得分 0

markTop

5 楼tmacwow()回复于 2005-09-03 23:41:16 得分 0

to     karykwan(独行者):  
  这是什么控件??Top

6 楼airapple5(MiChAeL)回复于 2005-09-03 23:44:54 得分 5

把超级连接列改成模板列,在HTML里面写  
  DataNavigateUrl="LeaveWordDeptQuery.aspx?DeptID=<%#   DataBinder.Eval(Container.DataItem,"DeptID")%>&Name=<%#   DataBinder.Eval(Container.DataItem,"DeptName")%>"  
  Top

7 楼tmacwow()回复于 2005-09-04 00:29:15 得分 0

to   airapple5(MiChAeL):  
  改成模板列后,加的是什么控件添加的DataNavigateUrl啊?Top

8 楼zeusvenus()回复于 2005-09-04 01:48:26 得分 5

试试类似book.aspx?bookid={0}&bookname={0}&bookprice={0}之类的行不行?Top

9 楼tmacwow()回复于 2005-09-04 13:53:41 得分 0

book.aspx?bookid={0}&bookname={0}&bookprice={0}????  
   
  这样传的参数都是一样的吧?有什么意义?Top

10 楼tmacwow()回复于 2005-09-04 20:16:06 得分 0

帮帮俺啊Top

11 楼tanlijun37(天下)回复于 2005-09-04 20:49:35 得分 5

换成模板列,然后<a   href="LeaveWordDeptQuery.aspx?DeptID=<%#   DataBinder.Eval(Container.DataItem,"DeptID")%>&Name=<%#   DataBinder.Eval(Container.DataItem,"DeptName")%>">Top

12 楼tmacwow()回复于 2005-09-05 13:46:47 得分 0

????????????????????????????????????Top

13 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-09-05 14:01:33 得分 30

在使用DataGrid的时候如果你有一个asp:HyperLinkColumn又想使用多个需要绑定的参数作为链接的url,那么请改成模板列,使用普通的link标签<a>或者asp:HyperLink都可以,下面2种实现多绑定参数的解决方案  
   
  (1)后台返回url  
  前台  
  <asp:TemplateColumn   HeaderText="打开">  
  <ItemTemplate>  
  <asp:HyperLink   Text="打开"   NavigateUrl='<%#   myfunc2(DataBinder.Eval(Container.DataItem,"vName"),DataBinder.Eval(Container.DataItem,"iAge"))%>   '   Runat="server"   Target="_blank"   ID="Hyperlink1">  
  </asp:HyperLink>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  后台  
  protected   string   myfunc2(object   s1,object   s2)  
  {  
  return   "newpage.aspx?name="+s1.ToString()+"&age="+s2.ToString();  
  }  
  (2)直接前台设定url  
  <asp:TemplateColumn   HeaderText="打开">  
  <ItemTemplate>  
  <asp:HyperLink   Text="打开"   NavigateUrl='<%#"newpage.aspx?name="+DataBinder.Eval(Container.DataItem,   "vname")+"&age="+DataBinder.Eval(Container.DataItem,   "iage")   %>'   Runat="server"   Target="_blank">  
  </asp:HyperLink>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
   
  其实以上2个方案是一回事情,但是前者更加清晰,而且易于后台动态生成url。Top

14 楼tmacwow()回复于 2005-09-05 21:48:19 得分 0

感谢啊!!!!!Top

相关问题

  • datagrid参数传递问题
  • 如何在Datagrid中的连接新页面中传递参数
  • 如何给datagrid的里面的传递参数加密?
  • DataGrid参数传递的问题:如何解决?
  • 如何传递参数???
  • 如何传递参数?
  • 如何传递参数???!!!
  • 如何传递参数?
  • 如何传递参数
  • 如何传递参数 asp.aspx?UserID= 传递进来一个参数

关键词

  • 模板
  • deptid
  • 参数
  • datanavigateurl
  • leaveworddeptquery
  • 改成模板列
  • bookid
  • 后台
  • aspx
  • book

得分解答快速导航

  • 帖主:tmacwow
  • karykwan
  • airapple5
  • zeusvenus
  • tanlijun37
  • LoveCherry

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo