GridView的超链接列怎么把参数传给别的页面?

gulong19800 2010-04-29 02:41:14
这个gridview有四列id,name,sex,age,
我想在点击某一行的第一列时能转到另一个页面frame.aspx去,并把该行的四列内容传过去。

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4"
Height="308px" Width="681px"
AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC"
BorderStyle="None" BorderWidth="1px"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<RowStyle BackColor="White" ForeColor="#003399" />
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="id,name,sex,age"
DataNavigateUrlFormatString="~\frame.aspx?id={0}&name={1}&sex={2}&age={3}"
HeaderText="序号" Target="_blank" DataTextField="id"
NavigateUrl="~\frame.aspx?id={0}&name={1}&sex={2}&age={3}" />
<asp:BoundField DataField="name" HeaderText="姓名" />
<asp:BoundField DataField="sex" HeaderText="性别" />
<asp:BoundField DataField="age" HeaderText="年龄" />
</Columns>
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:GridView>

我不清楚DataNavigateUrlFormatString与NavigateUrl的区别,以及它俩到底该怎么写才能正确的传出参数
上网搜索了一下也没有什么结果
上面是我自己的写法,不能正确的传出参数
在frame.aspx中
string id = Request.QueryString["id"].ToString() 得到的值是"{0}" 而不是一个具体的id号码
应该怎么写呢?
请大家帮我。谢谢啦
...全文
755 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-04-29
  • 打赏
  • 举报
回复
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
HyperLink tmp=e.ROW.Cells[0].Controls[0] as HyperLink;
tmp.NavigateUrl="a.aspx?a=&b=";
}
<asp:hyperlinkfield text= "" DataNavigateUrlFields = "字段1,字段2, "
DataNavigateUrlFormatString = "~/a.aspx?a={0}&b={1}"
headertext= ""target= "_blank " />
duxj007 2010-04-29
  • 打赏
  • 举报
回复
在后台用SESSION传
前一页面:session["id"]=...;session["name"]=...,...或者传一对象user user=new user(id,name,sex,age),session["user"]=user
后一页面:id=Convert.toInt32(session["id"].toString())....或者user user=(user)session["user"];id=user.id....
koukoujiayi 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gulong19800 的回复:]
引用 3 楼 koukoujiayi 的回复:

应该如下:
html code
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="id,name,sex,age"

这样写的话,在gridview中第一列根本就不出超链接的那个下划线啊
[/Quote]
这不可能吧!!
问一下:点上去试试有作用了吗??
zhouzangood 2010-04-29
  • 打赏
  • 举报
回复
mark
gulong19800 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 koukoujiayi 的回复:]

应该如下:
C# code
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="id,name,sex,age"
DataNavigateUrlFormatString="~/frame.aspx?id={0}&amp;name={1}&amp;sex={2}&amp;age={3}"
He……
[/Quote]
这样写的话,在gridview中第一列根本就不出超链接的那个下划线啊
army369168520 2010-04-29
  • 打赏
  • 举报
回复
一个页面的前台
<a href='frame.aspx?id=<%# Eval("id")%>' target="_blank"><%# Eval("name")%></a>

frame.aspx后台页面
引用空间using System.IO;
执行查询语句 "select * from 表名 where id="+RequsetQueryString["id"].ToString()

红街咖啡 2010-04-29
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="单据号"><ItemTemplate>
 <asp:HyperLink ID="hlOrderNo" runat="server" Text='<%# Bind("CardOrderNo") %>' NavigateUrl='<%# GetUrl(Eval("CardOrderId")) %>' ToolTip="点击查询单据详情"></asp:HyperLink>

</ItemTemplate>
</asp:TemplateField>
天下在我心 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nosuchtracter 的回复:]
HTML code

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4"
Height="308px" Width="681px"
AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC"
……
[/Quote]
这样应该可以的
koukoujiayi 2010-04-29
  • 打赏
  • 举报
回复
应该如下:
  <Columns>
<asp:HyperLinkField DataNavigateUrlFields="id,name,sex,age"
DataNavigateUrlFormatString="~/frame.aspx?id={0}&name={1}&sex={2}&age={3}"
HeaderText="序号" Target="_blank" DataTextField="id" />
.............
</Columns>
zhujiazhi 2010-04-29
  • 打赏
  • 举报
回复
实在不行就在后台邦定的时候搞的
nosuchtracter 2010-04-29
  • 打赏
  • 举报
回复

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4"
Height="308px" Width="681px"
AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC"
BorderStyle="None" BorderWidth="1px"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<RowStyle BackColor="White" ForeColor="#003399" />
<Columns>
<asp:HyperLinkField Text="序号" Target="_blank" DataNavigateUrlFormatString="\frame.aspx?id={0}&name={1}&sex={2}&age={3}" DataNavigateUrlFields="id,name,sex,age"></asp:HyperLinkField>
<asp:BoundField DataField="name" HeaderText="姓名" />
<asp:BoundField DataField="sex" HeaderText="性别" />
<asp:BoundField DataField="age" HeaderText="年龄" />
</Columns>
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:GridView>

这样看看

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧