2011-11-15 3 views
1

리피터 컨트롤이있는 웹 응용 프로그램을 개발 중입니다. 링크 버튼은 리피터 컨트롤 안에 있습니다. 링크 버튼을 클릭하면 특정 사용자 (클릭 한 사용자)의 데이터 입력 페이지가 될 페이지로 리디렉션합니다. user-id/emplid를 사용하고 새 페이지의 일부 필드를 미리 채워야하며 다른 필드는 데이터 입력이 허용되어야합니다.리피터 컨트롤의 링크 단추가 그리드보기로 리디렉션

내 질문 -

  1. 내가 새로운 데이터 입력 페이지로 어떻게 리디렉션해야합니까? 나는 그 페이지를 아직 결정하지 않았다. 양식 페이지 또는 격자보기가 될 것이며 별도의 페이지가 될 것이라고 생각합니다.

코드 :

<asp:LinkButton ID="getDetails" OnCommand="getDetails_cmd" runat="server" 
         CommandArgument='<%#DataBinder.Eval(Container.DataItem,"Emplid")%> 
' Text='<%#DataBinder.Eval(Container.DataItem,"NAME")%>' 
          CommandName="Details"></asp:LinkButton> 
  1. commandargument를 사용하여, 나는 추측 페이지로 리디렉션 후, 나는 emplid를 얻을 수 있습니다. 여러 값을 전달합니까? 페이지 키를 말해봐?

  2. 페이지의 여러 테이블을 어떻게 업데이트해야합니까?

어떤 도움을 주시면 감사하겠습니다.

감사합니다,

답변

1

ItemCommand 이벤트를 처리하려면 Repeater 컨트롤이 필요합니다. 핸들러 ItemCommand 이벤트의

<asp:Repeater ID="Repeater1" runat="server" 
     onitemcommand="Repeater1_ItemCommand"> 
    <ItemTemplate> 
     <asp:LinkButton 
      ID="getDetails" 
      runat="server" 
      Text='<%# Eval("NAME") %>' 
      CommandName="cmd" 
      CommandArgument='<%# Eval("Empid") %>' 
      > 
      </asp:LinkButton> 
    </ItemTemplate> 
</asp:Repeater> 

,

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandName == "cmd") 
    { 
     Session["empid"]=e.CommandArgument; 
     Response.Redirect("~/page1.aspx"); 
    } 
} 
+0

AVD에 감사드립니다. 이 솔루션을 시도하고 작동했습니다. 쿼리 문자열에 여러 값을 보낼 수 있습니까? 한 페이지에서 여러 테이블을 업데이트하는 방법을 알려주십시오. 패키지를 참조하는 리피터 컨트롤을 가지고 있는데 읽기 전용입니다. 다음 섹션은 세부보기이지만 업데이트 할 수 있습니다. – user728148

1

새 페이지로 직접하려는 경우의 LinkButton는 일반적으로 같은 양식에 다시 게시 않기 때문에 갈 수있는 방법은, 아마도하지 않은 쿼리 문자열에 emplid 전송 표준 하이퍼 링크 것 작업. 새 페이지에서 Request.Querystring("emplid")을 사용하여 쿼리 문자열에서 emplid를 가져옵니다. 여러 테이블에 저장하는 방법에는 여러 가지가 있습니다. 하나는 트랜잭션 스코프에서 여러 db 업데이트 호출을 래핑하는 것입니다.

+0

감사 데이빗. 표준 하이퍼 링크 컨트롤을 사용해 보겠습니다. 동일한 페이지에 다시 게시하는 것이 무엇을 의미하는지 설명해 주시겠습니까? 페이지의 여러 테이블의 경우 그리드보기/데이터 목록에 표시 할 수 있습니까? 기본적으로 직원에 대한 일부 데이터를 표시하고 사용자가 다른 일부 섹션에 대한 데이터를 입력 할 수있게하려고합니다. .NET을 배우므로 간단한 질문을합니다. – user728148

+0

예, 대부분의 서버 쪽 컨트롤 ()은 다른 페이지가 아닌 동일한 페이지에 다시 게시하도록 설계되었습니다. 코드 뒤에 나오는 "이벤트"는 게시물을 게시하는 페이지에서 가져온 것입니다. 두 번째 질문을 이해할 수 있는지 확신 할 수 없습니다. 네, 각 테이블에 그리드보기/데이터 목록이있을 수 있습니다. – BlackICE

관련 문제