2010-06-03 5 views
0

jquery 전문가들에게는 매우 쉬운 작은 질문이있다. gridview 행의 두 번 클릭으로 작업을 수행하려면 http://aspdotnetcodebook.blogspot.com/2010/01/page-languagec-autoeventwireuptrue.html을 따르려고합니다. 예를 들어 다른 페이지로 리디렉션 할 수 있지만 $ (this) .find ("a")를 발생시킬 수는 없습니다. 발사. 아래는 내 GridView 마크 업입니다. 저자가 제안했다으로

<asp:GridView ID="gvCustomers" runat="server" DataSourceID="odsCustomers" CssClass="datagrid" 
     GridLines="None" AutoGenerateColumns="False" DataKeyNames="Customer_ID" PageSize="3" 
     AllowPaging="True" AllowSorting="True" OnRowCommand="gvCustomers_RowCommand" 
     OnRowDataBound="gvCustomers_RowDataBound"> 
     <Columns> 
      <asp:BoundField DataField="Customer_ID" HeaderText="ID" ReadOnly="true" Visible="false" /> 
      <asp:BoundField DataField="Customer_FirstName" HeaderText="First Name" ReadOnly="true" /> 
      <asp:BoundField DataField="Customer_LastName" HeaderText="Last Name" ReadOnly="true" /> 
      <asp:BoundField DataField="Customer_Email" HeaderText="Email" ReadOnly="true" /> 
      <asp:BoundField DataField="Customer_Mobile" HeaderText="Mobile" ReadOnly="true" /> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:LinkButton ID="lnkButton" runat="server" CommandName="showVehicles" CommandArgument='<%# Eval("Customer_ID") %>' 
         ></asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
     <EmptyDataTemplate> 
      Sorry No Record Found. 
     </EmptyDataTemplate> 
    </asp:GridView> 

난 그냥 캔트 작동합니다 /* 또는 당신이 실행할 수있는 행의 숨겨진하는 LinkButton를 (텍스트 = ""또는 설정되지 않음)있을 수 있습니다. 당신이 CommandButton의 onCommand에 CommandName = "Something"과 CommandArgument = "RecordId"*/

을 설정했는지 확인하고 싶습니다. 모든 아이디어가 가장 감사 할 것입니다. window.location이 설정되어 있기 때문에 알리

+0

asp 코드가 생성하는 html을 표시 할 수 있습니까? – Nalum

+0

자바 스크립트는 어디에 있습니까? '이'는 친척이며, 어디에서 왔는지 모른 채 눈먼 추측입니다. –

답변

0

이 링크 아래의 스크립트를 보면

덕분에, 클릭하지 않는다. 블로그 게시물을 읽으면 window.location을 설정하거나 $(this).find("a").click();을 사용하지만 둘 다 사용할 수는 없습니다.

<script type="text/javascript"> 
    var selected = null; 
    $(document).ready(function(){ 
     $("#gvCustomers").find("tr").click(function(){ 
      $(selected).removeClass("selected"); $(this).addClass("selected"); selected = this; 
     }); 
     $("#gvCustomers").find("tr").dblclick(function(){ 
      var Id = $(this).find("td:nth-child(1)").text(); 
      //window.location = "/CustomersVehiclesWebSite/Default2.aspx?record=" + $(this).find("td:nth-child(1)").text(); 
      $(this).find("a").click(); 
     }); 
    }); 
    function doPostBack(element) { 
    tb_remove(); 
    setTimeout('__doPostBack(\'' + element.name + '\',\'\')', 500);// 500ms given to thickBox to remove itself 
    } 
</script> 
+0

창이 삭제되었지만 기쁨이 없습니다. 동일한 것을 달성 할 수있는 또 다른 방법이 있습니까? 즉, gridview 행에서 서버 쪽 메서드를 두 번 클릭하여 호출? 또는 두 번 클릭 한 행의 세부 정보가있는 팝업이 표시됩니까? 기본적으로 나는 JavaScript와 JQuery를 많이 사용하지 않았으므로 이것들을 너무 편하게 생각하지는 않습니다. – Ali

+0

이 블로그 게시물의 기술은 이미 서버 측 메소드에서 jquery 팝업을 표시 했으므로 설득력있게 보입니다. – Ali