У меня есть страница Results.aspx, которая отображает результирующие записи, запрошенные с использованием объекта SqlDataSource через ListView. Я хочу добавить кнопку «Просмотр», которая будет отображаться рядом с каждой записью, и при ее нажатии я попаду на отдельную страницу, на которой будут отображаться сведения об этой записи. Как мне это сделать?
Редактировать
Я попробовал то, что вы сказали, цитроны, и вот что я придумал:
<td>
<asp:CheckBox ID="CheckBox1" runat="server" />
</td>
<td>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="ViewButtonClick" CommandArgument='<%# Eval("ServiceId") %>'>View</asp:LinkButton>
</td>
И вот метод, который я хочу назвать:
protected void ViewButtonClick(object sender, CommandEventArgs e)
{
var serviceId = Convert.ToInt32(e.CommandArgument);
ServiceToView = DataAccessLayer.Service.Select(new Service { ServiceId = serviceId });
Server.Transfer("~/ViewService.aspx");
}
К сожалению, на самом деле ничего не происходит... я что-то упустил?
Изменить -- исправлено
Я что-то пропустил! У меня было CommandName, равное имени моего метода, а не OnCommand. Я убрал CommandName, сохранил бит аргумента и заменил CommandName на OnCommand. Теперь все работает, но зачем мне CommandName?