我使用Listview来显示数据库中的数据,并使用<hr/>
标记从每行中分离每个数据。如何选择一个特定的行,以便我可以跟踪正在选择的项目。
修改
这是我的Listview
<asp:ListView ID="msg_list" runat="server" OnSelectedIndexChanged="selectedMsg" >
<ItemTemplate>
<table>
<tr class="myitem">
<a href="#"> <td>
<asp:Label role="menuitem" ID="msg_lbl" runat="server" text='<%#Eval("msg")%>' /><i style=" color:Gray; " > from
<asp:Label ID="tme" runat="server" Text='<%#Eval("name")%>' />
<i> on </i>
<asp:Label ID="tmelbl" runat="server" Text='<%#Eval("tme")%>'/>
<a id="msg-reply" class="btn button" data-toggle="modal" data-target="#msg-rply" style="cursor:pointer;" ><i class="glyphicon glyphicon-share-alt white"> </i></a>
</td>
</a>
<hr style=" margin-top:1px; margin-bottom:1px; " />
</tr>
</table>
<%--<hr style=" margin-top:1px; margin-bottom:1px; " />--%>
</ItemTemplate>
<SelectedItemTemplate>
<tr class="myitem">
<a href="#"> <td>
<asp:Label role="menuitem" ID="msg_lbl" runat="server" text='<%#Eval("msg")%>' /><i style=" color:Gray; " > from
<asp:Label ID="tme" runat="server" Text='<%#Eval("name")%>' />
<i> on </i>
<asp:Label ID="tmelbl" runat="server" Text='<%#Eval("tme")%>'/>
<a id="msg-reply" class="btn button" data-toggle="modal" data-target="#msg-rply" style="cursor:pointer;" ><i class="glyphicon glyphicon-share-alt white"> </i></a>
</td>
</a>
<hr style=" margin-top:1px; margin-bottom:1px; " />
</tr>
</SelectedItemTemplate>
</asp:ListView>
这就是我试图获取所选项目的方式
public void selectedMsg(object sender, EventArgs e)
{
}
但是当我使用断线器时,它不会让我接受上述功能。
答案 0 :(得分:2)
首先,我将解决标记/ HTML
的一些问题 <asp:ListView ID="msg_list" runat="server" OnItemCommand="msg_list_ItemCommand">
<ItemTemplate>
<table>
<tr class="myitem">
<td style="border-bottom: #ccc 1px solid">
<asp:Label role="menuitem" ID="msg_lbl" runat="server" Text='<%#Eval("msg")%>' />
<i style="color: Gray;">from</i>
<asp:Label ID="tme" runat="server" Text='<%#Eval("name")%>' />
<i>on </i>
<asp:Label ID="tmelbl" runat="server" Text='<%#Eval("tme")%>' />
<asp:LinkButton ID="Link1" runat="server" CommandName="sel" CommandArgument='<%#Eval("name")%>'
Text="Select" />
<a id="msg-reply" class="btn button" data-toggle="modal" data-target="#msg-rply"
style="cursor: pointer;"><i class="glyphicon glyphicon-share-alt white"></i>
</a>
</td>
</tr>
</table>
</ItemTemplate>
</asp:ListView>
<asp:Label ID="TestLabel" runat="server" />
对于选定的,您可以通过添加按钮/ Linkbutton来使用item命令事件,并使用命令参数,如示例所示。
protected void msg_list_ItemCommand(object sender, ListViewCommandEventArgs e)
{
TestLabel.Text = "index:" + e.Item.DataItemIndex.ToString() + ", Arg:" + e.CommandArgument;
}