У меня есть страница ASP.NET, которая использует ретранслятор для заполнения сетки. В конечном итоге будет около дюжины столбцов, один из которых - кнопка ссылки, выполняющая обратную передачу (удаляет строку). Остальная часть строки, которую я хочу, чтобы она была кликабельной и переходила к указанному URL, который я настроил во время выполнения.
Вот код строки в повторителе:
<tr class='normal' onmouseover="this.className='highlight'" onmouseout="this.className='normal'"
onclick="location.href='<%#DataBinder.Eval(Container.DataItem, "url") %>';">
<td><%# DataBinder.Eval(Container.DataItem, "parcel")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "address")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "unitName")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "countyName")%></td>
<td><asp:LinkButton CommandName="remove" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "parcel")%>' ID="LinkButton0" runat="server">Remove</asp:LinkButton></td>
</tr>
Как вы видите, у меня есть onclick, который напрямую направляет пользователя по указанному URL, в то время как событие LinkButton обрабатывается в обработчике ItemCommand родительского повторителя. Если я нажму на кнопку ссылки, то и меня уволят, и весь ад сломается. Есть ли какой-нибудь способ воздержаться от того, чтобы к элементу linkbutton или linkbutton относилось событие onclick? Единственный гарантированный способ, которым я могу придумать, это настроить onclick для каждой ячейки таблицы, но это было бы довольно уродливо, особенно если я использую и в повторителе.