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

DataGrid中的NavigateUrl传值问题

楼主lwjvince(Insert into you(memory)values(my all life))2006-09-14 20:08:32 在 .NET技术 / C# 提问

传值问题,语句不正确,请确保正确的传这3个值,并让连接文字也用获取后台的值;  
  测试正确的给全部分数!!!  
  <asp:TemplateColumn   HeaderText="操作">  
  <ItemTemplate>  
  <asp:HyperLink   ID=hrl   Runat=server   NavigateUrl='tender_scencebuy.aspx?gysid=<%=tenderId%>&proid=<%#DataBinder.Eval(Container.DataItem,"项目ID")%>&prjpakeid=<%#DataBinder.Eval(Container.DataItem,"a0")   %>&buystates=<%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>'> <%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>  
  </asp:HyperLink>  
  </ItemTemplate>  
   
  问题点数:100、回复次数:18Top

1 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2006-09-14 20:23:32 得分 0

参考:  
   
   
  <asp:HyperLinkColumn     HeaderText="客户名称"   DataTextField="ABRName"   DataNavigateUrlField="CusNO"   DataNavigateUrlFormatString="../..//b.aspx?&amp;cusno={0}&amp;id="   ><ItemStyle   HorizontalAlign="left"></ItemStyle>  
  </asp:HyperLinkColumn>  
   
   
  Top

2 楼drk928(一起看斜阳)回复于 2006-09-14 22:30:50 得分 0

楼上正解.楼主的写法就没必要用链接列了,直接用一个<a   href="">就行了,或者用javascriptTop

3 楼oasis_wen(嘿嘿)回复于 2006-09-14 22:41:06 得分 0

在后台写DataBound事件里给HyperLink   的NavigateUrl属性赋值Top

4 楼jc15271149(奶皮儿)回复于 2006-09-15 08:04:11 得分 0

用超链接列实现,参考  
  <asp:HyperLinkField   DataNavigateUrlFields="username,userid"   DataNavigateUrlFormatString="WebForm.aspx?name={0}&id={1}"   DataTextField="username"   />Top

5 楼lwjvince(Insert into you(memory)values(my all life))回复于 2006-09-15 11:01:22 得分 0

<asp:HyperLinkColumn   HeaderText="操作"     DataTextField="cz"   DataNavigateUrlField="tender_scencebuy.aspx?gysid=<%=tenderId%>&proid=<%#DataBinder.Eval(Container.DataItem,"项目ID")%>&prjpakeid=<%#DataBinder.Eval(Container.DataItem,"a0")   %>&buystates=<%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>"></asp:HyperLinkColumn>  
   
   
  这样也不行啊  
  Top

6 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2006-09-15 11:10:44 得分 0

如二楼所说:  
   
  <asp:TemplateColumn   HeaderText="操作">  
  <ItemTemplate>  
  <a   href='tender_scencebuy.aspx?gysid=<%=tenderId%>&proid=<%#DataBinder.Eval(Container.DataItem,"项目ID")%>&prjpakeid=<%#DataBinder.Eval(Container.DataItem,"a0")   %>&buystates=<%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>'><%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>  
  </a></ItemTemplate>Top

7 楼lwjvince(Insert into you(memory)values(my all life))回复于 2006-09-15 11:18:24 得分 0

楼上所说的方法可行,但是在后台我要进行操作的时候就findcontrol不到这一个列  
   
  因为这个值随DataGrid中这一行的某个值     显示或不显示.Top

8 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2006-09-15 11:36:40 得分 0

<asp:TemplateColumn   HeaderText="操作">  
  <ItemTemplate>  
  <%   if   (符合条件){%>  
  <a   href='tender_scencebuy.aspx?gysid=<%=tenderId%>&proid=<%#DataBinder.Eval(Container.DataItem,"项目ID")%>&prjpakeid=<%#DataBinder.Eval(Container.DataItem,"a0")   %>&buystates=<%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>'><%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>  
  </a>  
  <%  
  }  
  else  
  {  
  response.write("&nbsp;");  
  }  
  %>  
  </ItemTemplate>  
  Top

9 楼lwjvince(Insert into you(memory)values(my all life))回复于 2006-09-15 11:43:16 得分 0

这方法我也试过了   ,问题是   它返回的这一列全部是一个值,如果bzStr变动了那么全部就成了已过期  
   
  <asp:TemplateColumn   HeaderText="操作">  
  <ItemTemplate>  
   
  <%if(bzStr=="1"){%>  
  <asp:Label   ID="ycId"   Runat="server"   ForeColor="#ff0066">已过期</asp:Label>  
  <%}else{%>  
   
  <a   href="tender_scencebuy.aspx?gysid=<%=tenderId%>&proid=<%#DataBinder.Eval(Container.DataItem,"项目ID")%>&prjpakeid=<%#DataBinder.Eval(Container.DataItem,"a0")   %>&buystates=<%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>"><%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%></a>  
   
  <%}%>  
   
  </ItemTemplate>  
  </asp:TemplateColumn>Top

10 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2006-09-15 12:19:24 得分 0

bzStr是什么东西?  
   
  是不是table里的东西?  
   
  if(DataBinder.Eval(Container.DataItem,"bzStr")   =="1")  
   
   
   
  感觉你的逻辑似乎有些混乱,bzStr如果不是库里的东西,那么当绑定的时候,这个值是不会发生变化的……  
   
   
  如果你确实需要用findcontrol的话  
   
  可以用<a   id='test'   runat=server></a>  
   
  后台用HtmlAnchor作强制转换Top

11 楼kbxj406(羽儿)回复于 2006-09-15 12:50:05 得分 0

<asp:TemplateColumn   HeaderText="操作">  
  <ItemTemplate>  
  <a   href='tender_scencebuy.aspx?gysid=<%=tenderId%>&proid=<%#DataBinder.Eval(Container.DataItem,"项目ID")%>&prjpakeid=<%#DataBinder.Eval(Container.DataItem,"a0")   %>&buystates=<%#DataBinder.Eval(Container.DataItem,   "cz")%>'><%#DataBinder.Eval(Container.DataItem,   "cz").ToString().Trim()%>  
  </a>  
  </ItemTemplate>  
   
  tenderId是你在后台cs中定义的一个变量吧?Top

12 楼lxwin01(阿幸)回复于 2006-09-15 13:17:34 得分 0

代码片断  
  <asp:HyperLinkColumn   Text="&lt;img   src=Images/edit.gif   border=0   alt=更改、浏览此人员帐号信息   /&gt;"   Target="_blank"  
  DataNavigateUrlField="EmpID"   DataNavigateUrlFormatString="EmpBase.aspx?EmpID={0}"></asp:HyperLinkColumn>  
  Top

13 楼lxwin01(阿幸)回复于 2006-09-15 13:19:52 得分 0

<asp:BoundColumn   Visible="False"   DataField="EmpID"   HeaderText="编号"></asp:BoundColumn>  
  <asp:HyperLinkColumn   Text="&lt;img   src=Images/edit.gif   border=0   alt=更改、浏览此人员帐号信息   /&gt;"   Target="_blank"   DataNavigateUrlField="EmpID"   DataNavigateUrlFormatString="EmpBase.aspx?EmpID={0}"></asp:HyperLinkColumn>  
  数据你cs后台邦定一下.Top

14 楼lwjvince(Insert into you(memory)values(my all life))回复于 2006-09-15 15:29:24 得分 0

是呀,有点乱了,烦请指点;  
  我后台是这样写的:  
  private   void   DataGrid1_ItemDataBound(object   sender,   System.Web.UI.WebControls.DataGridItemEventArgs   e)  
                {  
                      DataRowView   dv=(DataRowView)e.Item.DataItem;  
  bzStr=dv["tsbz"].ToString();  
                      if(bzStr=="1")  
                {  
  e.Item.Cells[6].Text="已过期";  
  e.Item.Cells[7].Controls.Clear();  
                }  
  }  
   
  bzStr是数据表中那一行的一个标志Top

15 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2006-09-15 16:19:26 得分 0

<asp:TemplateColumn   HeaderText="操作">  
  <ItemTemplate>  
   
  <a   id='test'   runat=server></a>  
   
  </ItemTemplate>  
  </asp:TemplateColumn>  
   
   
   
  private   void   DataGrid1_ItemDataBound(object   sender,   System.Web.UI.WebControls.DataGridItemEventArgs   e)  
                {  
                      DataRowView   dv=(DataRowView)e.Item.DataItem;  
  bzStr=dv["tsbz"].ToString();  
                      if(bzStr=="1")  
                {  
  HtmlAnchor   temp   =(HtmlAnchor)e.item[n].FindControl("test");  
  temp.HRef="xxx.asp";//自己拼个字符串  
  temp.Visible=true;//不显示是false  
                }  
  }  
  Top

16 楼benxiaowei()回复于 2006-09-15 17:05:49 得分 100

标准答案来了,请给分  
   
  private   void   DataGrid1_ItemDataBound(object   sender,   System.Web.UI.WebControls.DataGridItemEventArgs   e)  
  {  
  System.Web.UI.WebControls.ListItemType   ltem=e.Item.ItemType;  
  if(ltem==ListItemType.Pager||ltem==ListItemType.Header||ltem==ListItemType.Footer)  
  {  
  return;  
  }    
  DataRowView   dv=(DataRowView)e.Item.DataItem;  
  bzStr=dv["tsbz"].ToString();  
  HtmlAnchor   temp   =(HtmlAnchor)e.Item.Cells[7].FindControl("test");  
  string   xx1=e.Item.Cells[0].Text.ToString();  
  string   xx2=e.Item.Cells[9].Text.ToString();  
  string   xx3=e.Item.Cells[11].Text.ToString();  
  if(bzStr=="1")  
  {  
  e.Item.Cells[6].Text="<FONT   color=red>已过期</FONT>";  
   
  temp.Visible=true;  
  }  
  else  
  {  
  temp.InnerText=xx3;  
  temp.HRef="tender_scencebuy.aspx?gysid="+tenderId+"&proid="+xx1+"&prjpakeid="+xx2+"&buystates="+xx3+"";  
  }  
  }Top

17 楼lwjvince(Insert into you(memory)values(my all life))回复于 2006-09-15 17:11:39 得分 0

 
   
  因为我说谁能给直接测试的就给全部分,所以没有给你分.  
  但仍然非常感谢     xxuu503(我爱郭芙蓉!)        
       
  谢谢!!!!  
  Top

18 楼angleoldhen(oldhen)回复于 2006-10-30 16:04:14 得分 0

参与一下Top

相关问题

关键词

得分解答快速导航

  • 帖主:lwjvince
  • benxiaowei

相关链接

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

广告也精彩

反馈

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