ItemCommand в повторителе в ASP.net
Я хочу щелкнуть гиперссылку в строке в повторителе, чтобы перейти на другую страницу. Пожалуйста, дайте мне знать, как использовать ItemCommand в элементе управления повторителем ASP.net.
<asp:Repeater ID="rpMeetings" runat="server" DataSourceID="odsMeetings"> <ItemTemplate>
<li class="list-group-item">
<h4><asp:HyperLink ID="HyperLink1" runat="server" DataNavigateUrlFields="MeetingID" DataNavigateUrlFormatString="Forms/Meeting.aspx?meetingID={0}"
Text='<%# Eval("Title") %>'></asp:HyperLink></h4>
<p class="pull-right">Status: <strong>'<%# Eval("Status") %>'</strong></p>
<p><strong>Date:</strong> '<%# Eval("FinalDecidedTime") %>'<strong>Time:</strong> - Organized by: '<%# Eval("Organizer") %>'</p>
</li>
</ItemTemplate>
</asp:Repeater>
1 ответ
Решение
Проблема решается с помощью кнопки ссылки с именем команды и аргументом вместо гиперссылки
<asp:LinkButton ID="lbtnMeetingTitle" runat="server" CommandArgument='<%# Eval("MeetingID") %>' CommandName="Open" Text='<%# Eval("Title") %>'></asp:LinkButton></h4>
и в коде позади
protected void rpMeetings_ItemCommand(object source, RepeaterCommandEventArgs e)
{
Response.Redirect("~/Forms/Meeting.aspx?meetingID=" + Int32.Parse(e.CommandArgument.ToString()));
}