我知道这是一个非常奇怪的问题,但我需要知道在转发器上点击事件触发之前点击了哪个项目。
这会告诉我正在回复的是转发器,但没有点击哪个项目:
Request.Params["__EVENTTARGET"].ToString()
如何找出点击的转发器项目? 如果有帮助,这里是转发器的标记。
<asp:Repeater ID="ResultsRepeater" runat="server">
<HeaderTemplate>
<table cellpadding="3" cellspacing="0" width="360">
<tr bgcolor="#d5d5e6">
<th width="10">
</th>
<th>
Content Type
</th>
<th>
Items Found
</th>
<th>
Results
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr bgcolor="#efefef">
<td width="10">
<img src="http://www.exactmobile.co.za/images/li_x.gif">
</td>
<td>
<%# DataBinder.Eval(Container, "DataItem.Name") %>
</td>
<td align="center">
<b class="brown">
<%# DataBinder.Eval(Container, "DataItem.Count") %></b>
</td>
<td align="center">
<asp:LinkButton runat="server" CommandName="Results">Show <font class="red">»</font></asp:LinkButton>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="#ffffff">
<td width="10">
<img src="http://www.exactmobile.co.za/images/li_x.gif">
</td>
<td>
<%# DataBinder.Eval(Container, "DataItem.Name") %>
</td>
<td align="center">
<b class="brown">
<%# DataBinder.Eval(Container, "DataItem.Count") %></b>
</td>
<td align="center">
<asp:LinkButton runat="server" CommandName="Results">Show <font class="red">»</font></asp:LinkButton>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
答案 0 :(得分:0)
您是否尝试为每个链接按钮控件设置事件处理程序?如果没有,那么这样做可能会自动将您带到各自的事件处理程序。
另请参阅这有助于ASP.NET - Add Event Handler to LinkButton inside of Repeater in a RenderContent call
答案 1 :(得分:0)
通过在模板中使用普通锚点并将其href设置为控件Pre_Render方法中的实际页面来解决此问题。