我有一个使用中继器来填充网格的 ASP.NET 页面。最终会有十几个列,其中一个是执行回发的链接按钮(它删除行)。我希望该行的其余部分可点击并导航到我在运行时设置的指定网址。
这是转发器中一行的代码:
<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 处理程序中处理。如果我单击链接按钮,两者都会被解雇,并且所有的地狱都会崩溃。有什么方法可以避免链接按钮或链接按钮单元格应用 onclick 事件?我能想到的唯一可靠的方法是为每个表格单元格设置 onclick,但这会非常难看,特别是因为我正在使用和在转发器中。