2010-05-26 6 views
0

리피터를 사용하여 모눈을 채우는 ASP.NET 페이지가 있습니다. 결국 12 열 정도가 될 것이고, 그 중 하나는 포스트 백을 수행하는 링크 버튼입니다 (행을 제거함). 나머지 행은 클릭 할 수 있고 런타임에 설정 한 지정된 URL로 이동하려고합니다. 여기 하나만 제외하고 모든 셀에 tablerow 클릭 적용

는 중계기의 행에 대한 코드입니다 :

<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> 

당신이 볼 수 있듯이하는 LinkButton 이벤트가 부모 중계기의에서 처리됩니다 동안, 나는이 onclick을 직접 지정된 URL로 사용자를 이동해야 ItemCommand 핸들러. linkbutton을 클릭하면 모두 해고되고 모든 지옥은 느슨해집니다. 거기에 onclick 이벤트가 적용되는 데 linkbutton 또는 linkbutton 셀을 기권 할 수있는 방법이 있습니까? 내가 이것을 할 수 있다고 확신 할 수있는 유일한 방법은 각 테이블 셀에 대한 onclick을 설정하는 것입니다.하지만 이것은 꽤나 추한 것입니다. 특히 중계기에서 사용하고 있기 때문에.

답변

0

click 이벤트의 전파를 취소하는 LinkClick에 onclick 이벤트를 추가하여 TR 클릭 이벤트가 발생하지 않도록 할 수 있습니다. jQuery/MooTools 외부에서 사용 했으므로 오래되었습니다.하지만이 방법이 효과적입니다.

onclick="window.event.cancelBubble=true;" 

<asp:LinkButton CommandName="remove" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "parcel")%>' ID="LinkButton0" runat="server" onclick="window.event.cancelBubble=true;">Remove</asp:LinkButton> 
관련 문제