2011-02-10 9 views
1

jqueryui 대화 상자 기능을 사용하여 등록 양식을 표시하고 있습니다. 대화 상자를 열고 div에 register.aspx 파일을 표시하는 데 아무런 문제가 없습니다. 그러나 나는 폼 데이터를 데이터베이스에 저장하기 위해 사용하고자하는 등록 버튼을 가지고있다. 그러나 해당 버튼을 클릭하면 대화 상자가 닫히고 페이지가 register.aspx로 리디렉션됩니다. 나는 usesubmitbehavior를 비활성화하려고 시도했지만 버튼의 기능을 완전히 차단하지는 못했습니다.Jqueryui 대화 상자 양식 문제

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" UseSubmitBehavior="False" /> 

protected void Button1_Click(object sender, EventArgs e) 
    { 
     firstName.Disabled = true; // this will be replaced for db data entry. It was just to see if the function is working or not. 
    } 

답변

1

클릭시 폼 제출의 기본 동작을 방지하려면 OnClientClick을 사용하십시오. 이 경우 서버에 직접 ajax 요청을 수행해야합니다.

<asp:Button ID="Button1" OnClientClick="handleRegistrationClientSide(); return false;" runat="server" Text="Button" UseSubmitBehavior="False" /> 

그렇지 않으면 업데이트 패널에서 대화 상자의 내부 내용을 포장하고, 비동기 포스트 백을 유발하는 버튼을 트리거합니다.

<div id="myDialog"> 
    <asp:UpdatePanel runat="server"> 
     <ContentTemplate> 
     ... 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="Button1" /> 
     </Triggers> 
    </asp:UpdatePanel> 
</div>