条件: 我有两张桌子, 类别(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”值。 (但重定向到自己的页面)。
我希望它作为查询字符串(或其他方式,如果能够)。
非常感谢。
答案 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>