2013-11-25 2 views
1

첫 번째 셀을 클릭하면 두 개의 이벤트 (?)를 바인딩 할 GridView가 있습니다.두 속성을 바인딩 [0124]

두 이벤트/onclick은 RowDataBound에 있습니다.

먼저 SelectedIndexChanged를 사용하고 Session에 행을 저장할 수 있도록 selectedindex를 제공합니다.

둘째 날 다른 페이지로 보내면 Im은 세션에 저장된 내용을 표시합니다.

e.Row.Cells[1].Attributes["onClick"] = "location.href='products.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "Namn") + "'"; 

그래서 내가 원하는 것은 onClick 하나씩 실행하는 것입니다. 둘 다 한 손으로 일하지만 그게 나에게 도움이되지 않습니다. 나는 새로운 해요 및 구글은이 시간을 나에게 :(

평화를 도와 couldnt한다! 당신이 URL 쿼리 문자열에 값을 전송 해달라고 왜

+0

두 작업을 모두 수행하는 함수로 클릭 연결 ... – Kami

+0

e.Row.DataItem 및 e.Row.RowIndex는 RowDataBound 외부에 도달 할 수 없습니다. – user3033046

답변

1

. 빠른 수정 솔루션은 눈에 보이지 않는 제어 및 설정 세션을 사용하는 것입니다.

<asp:TemplateField HeaderText="" SortExpression="" ItemStyle-CssClass="GridItemLeftText" ItemStyle-Width="5%" HeaderStyle-CssClass="GridHeaderLeftTextLink" HeaderStyle-ForeColor="White" HeaderStyle-Width="5%"> 
        <ItemTemplate> 
         <asp:ImageButton ID="btnDelete" CommandName="Delete task" runat="server" CommandArgument='<%#Eval("id")%>' ImageUrl="../images/iconDelete.gif" OnClick="deleteTask" /> 
        </ItemTemplate> 
       </asp:TemplateField> 


    protected void deleteTask(object sender, EventArgs e) 
     { 
      //set session 
      //Open Popup 
     } 

이제 (후 DeleteTask) 함수 뒤에 코드에 세션을 설정하고 코드 숨김

+0

이미 보이지 않는 컨트롤을 사용하여 세션에 인덱스 + 저장 값을 선택합니다. Response.Redirect를 추가하려고했지만 작동하지 않았습니다. Thorgeir와 같은 솔루션이이 시점에 게시되기를 바랬지 만 그렇게 간단하지는 않습니다. 이번 주말 내내이 주말 내내 앉아있었습니다. 그래서 내 뇌가 녹고, 휴식 시간. 힘든 팁 주셔서 감사합니다! – user3033046

0

에서 팝업을 열 JS 함수를 호출 할 수 있습니다 이들은 자바 스크립트 명령 때문에 명령 사이에 세미콜론을 추가하려고 :

e.Row.Cells[1].Attributes["onClick"] = ClientScript.GetPostBackClientHyperlink(this.gvProd, "Select$" + e.Row.RowIndex) + ";location.href='products.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "Namn") + "'"; 
+0

두 번째 부분이 아닌 ClientScript 만 실행합니다; location – user3033046

관련 문제