通过ASP.NET中的链接按钮传递值

时间:2011-12-14 21:26:14

标签: asp.net

条件: 我有两张桌子, 类别(id_kat,name_kat) 书(id_book,id_kat,name_book)

id_kat有子女关系。

使用ASP.NET时我有点困惑,尤其是在页面之间传递值时。

现在,我用

显示类别的数据
<asp:listview id="listview1" runat="server" datakeynames"id_kat" datasourceID="sdskat">
//FYI sdskat is datasource for category table

<itemtemplate>
 <li>
  <asp:linkbutton id="linking" runat="server" ><%# Eval("name_kat") %></asp:linkbutton> 
 </li>
</itemtemplate>

</asp:listview>

问题是,我想在点击超链接时传递“id_kat”值。 (但重定向到自己的页面)。

我希望它作为查询字符串(或其他方式,如果能够)。

非常感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用<asp:hyperlink id="linking" runat="server" ><%# Eval("name_kat") %></asp:hyperlink>代替。然后,您可以在navigateURL属性中添加您的网址,并在其上添加您的id_kat。

这样的事情应该有效:

<asp:hyperlink id="linking" runat="server" navigateURL="~/page.aspx?id_kat=<%# Eval('id_kat') %>" ><%# Eval("name_kat") %></asp:hyperlink>

<asp:hyperlink>标记本质上是标记,但使用服务器端控件。

如果你必须使用链接按钮,那么在你的代码后面你可以将id_kat附加到查询字符串,然后response.redirect(url)添加到新页面。

答案 1 :(得分:1)

为什么不使用常规锚?

<a href='foo.aspx?id=<%# Eval("id_kat") %>'><%# Eval("name_kat") %></a>

答案 2 :(得分:1)

如果您使用不同的查询字符串参数链接到同一页面,则只需要包括?之后。

<a href="?id=<%# Eval("id") %>"><%# Eval("name_kat") %></a>