我需要以下帮助。
我有一个列表视图,我填写代码隐藏:
Linq-> SQL:
ListView1.DataSource = from x in database.ITEMS
select x;
ListView1.DataBind();
项目内容:
我只显示字段的名称:
<tr>
<td>
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("Name") %>' />
</td>
</tr>
假设我在数据库中有25行,我用25行填充列表视图。接下来是我需要帮助的。用户需要单击25个名称中的一个(完整行)并重定向到显示该行内容的页面。所以,假设有人点击“汽车”,他将被重定向,他会看到:你选择了汽车,汽车的ID为19,数量为6。
我已经浏览过互联网,但我无法找到可以理解的解决方案。在列表视图和其他数据显示方法方面,我有点像菜鸟。
我的2个问题:
我希望有人可以向我解释如何以用户友好的noob方式完成这项工作,或者将我重定向到讨论我的问题的教程,以及用户友好的方式。提前谢谢。
答案 0 :(得分:1)
好的 - 我不确定这是否是最好的方式(我会对其他人的想法感兴趣)......但这会奏效。
将您的列表视图更新为以下内容:
<script type="text/javascript">
// simple redirect to your detail page, passing the selected ID
function redir(id) {
window.location.href = "mydetailpage.aspx?id=" + id;
}
</script>
<table>
<asp:ListView ID="ListView1" runat="server">
<ItemTemplate>
<tr onclick="redir('<%# Eval("ID") %>');">
<td>
<asp:Label ID="nameLabel" runat="server" Text='<%# Eval("Name") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
</table>
然后创建另一个页面以显示您的详细信息(例如mydetailpage.aspx) - 这应该重新查询您的数据库并显示其他字段,给定在查询字符串中传递的ID。
答案 1 :(得分:1)
你可以定义onclick属性来调用tr元素上的javascript函数,如下所示:
onclick="yourfunction('<%# Eval("Name") %>');"
然后你可以在你的javascript函数中添加任何内容,例如重定向到另一个页面