2013-09-18 2 views
1

У меня есть страница aspx, в которой я поместил две панели обновления с двумя кнопками отправки по одному в каждом ... Но при нажатии второй кнопки она не запускает второе событие кнопки он принимает первую кнопку Validate сообщение ..Вторая кнопка Событие не происходит в панели обновления на странице aspx

Вот мой ASPX код страницы ....

<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<asp:UpdatePanel ID="updDate1" runat="server" UpdateMode="Conditional" style="position: absolute; 
    left: 0px; top: 0px; width: 339px; height: 243px;"> 
    <ContentTemplate> 
     <table width="400"> 
      <tr> 
       <td> 
       </td> 
       <td colspan="2"> 
        <b>Sign Up for New User Account</b> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        UserName: 
       </td> 
       <td> 
        <asp:TextBox ID="txtUserName" runat="server" /> 
       </td> 
       <td> 
        <asp:RequiredFieldValidator ID="rqfUserName" runat="server" ControlToValidate="txtUserName" 
         Display="Dynamic" ErrorMessage="Required" ForeColor="Red" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Password: 
       </td> 
       <td> 
        <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" /> 
       </td> 
       <td> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtPwd" 
         Display="Dynamic" ErrorMessage="Required" ForeColor="Red" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Confirm Password: 
       </td> 
       <td> 
        <asp:TextBox ID="txtCnfPwd" runat="server" TextMode="Password" /> 
       </td> 
       <td> 
        <asp:RequiredFieldValidator ID="PasswordConfirmRequiredValidator" runat="server" 
         ControlToValidate="txtCnfPwd" ForeColor="red" Display="Dynamic" ErrorMessage="Required" /> 
        <asp:CompareValidator ID="PasswordConfirmCompareValidator" runat="server" ControlToValidate="txtCnfPwd" 
         ForeColor="red" Display="Dynamic" ControlToCompare="txtPwd" ErrorMessage="Confirm password must match password." /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Create User" /> 
       </td> 
       <tr> 
        <td class="style1" colspan="3"> 
         <asp:Label ID="lblResult" runat="server" Font-Bold="true" /> 
        </td> 
       </tr> 
      </tr> 
     </table> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<div> 
    <asp:UpdatePanel ID="updDate2" runat="server" UpdateMode="Conditional" RenderMode="Inline" 
     style="position: absolute; left: 628px; top: 0px; width: 339px; height: 243px;"> 
     <ContentTemplate> 
      <div class="GridviewDiv"> 
       <table> 
        <tr> 
         <td align="right"> 
          &nbsp; 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <asp:GridView ID="gvRoles" runat="server" CssClass="Gridview" AutoGenerateColumns="false"> 
           <HeaderStyle BackColor="#df5015" /> 
           <Columns> 
            <asp:TemplateField> 
             <ItemTemplate> 
              <asp:CheckBox ID="chkRole" runat="server" /> 
             </ItemTemplate> 
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="Role Name"> 
             <ItemTemplate> 
              <asp:Label ID="lblRole" runat="server" Text="<%#Container.DataItem %>" /> 
             </ItemTemplate> 
            </asp:TemplateField> 
           </Columns> 
          </asp:GridView> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <asp:Button ID="btnAssign" runat="server" Text="Assign or UnAssign" OnClick="btnAssign_Click" 
           Style="height: 26px" /> 
         </td> 
        </tr> 
       </table> 
       <div> 
        <asp:Label ID="lblSuccess" runat="server" Font-Bold="true" /> 
        <br /> 
        <asp:Label ID="lblError" runat="server" Font-Bold="true" /> 
       </div> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 
</form> 

Любая помощь будет высоко apprecited ..

заранее спасибо ..

ответ

2

Дорогой я попробовал ваш код, сделав фиктивный проект, и это ясно говорит мне, что это проблема CausesValidation="false", я знаю, что ты пробовал эту вещь, как хорошо, но даже я не знаю ваш задний конца coding.So же suggesstion с моей стороны просто изменить btnAssign как

<asp:Button ID="btnAssign" runat="server" Text="Assign or UnAssign" 
Style="height: 26px" onclick="btnAssign_Click" CausesValidation="false" /> 

Примечание: - Попробуйте проверить его в другом браузере, а также.

Также закажите файл для ValidationGroup. Применить ValidationGroup собственности в ваш контроль, а также присвоить то же имущество btnSubmit. Это будет работать.

Надеюсь, что он работает.

2

Установите CausesValidation="false" во второй кнопке

+0

Я пытался с ним, но не работает – vikas

2

Установка CausesValidation="false" во второй кнопке должна была работать.

Другой способ получить эту работу - назначить общий ValidationGroup вашим валидаторам, а также вашей первой кнопке Отправить [только для UpdatePanel updDate1].

См., Например, в ваших валидаторов:

<asp:RequiredFieldValidator ID="rqfUserName" runat="server" 
    ControlToValidate="txtUserName"Display="Dynamic" 
    ErrorMessage="Required" ForeColor="Red" 
    ValidationGroup="updDate1UserCreation" /> 

и вашей кнопки отправки с ID: btnSubmit

<asp:Button ID="btnSubmit" runat="server" 
    OnClick="btnSubmit_Click" Text="Create User" 
    ValidationGroup="updDate1UserCreation" /> 

Ваш первый UpdatePanel будет, наконец, выглядит следующим образом:

<asp:UpdatePanel ID="updDate1" runat="server" UpdateMode="Conditional" 
    style="position: absolute; 
    left: 0px; top: 0px; width: 339px; height: 243px;"> 
    <ContentTemplate> 
     <table width="400"> 
      <tr> 
       <td> 
       </td> 
       <td colspan="2"> 
        <b>Sign Up for New User Account</b> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        UserName: 
       </td> 
       <td> 
        <asp:TextBox ID="txtUserName" runat="server" /> 
       </td> 
       <td> 
        <asp:RequiredFieldValidator ID="rqfUserName" runat="server" 
         ControlToValidate="txtUserName" 
         Display="Dynamic" ErrorMessage="Required" ForeColor="Red" 
         ValidationGroup="updDate1UserCreation" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Password: 
       </td> 
       <td> 
        <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" /> 
       </td> 
       <td> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" 
         runat="server" ControlToValidate="txtPwd" 
         Display="Dynamic" ErrorMessage="Required" ForeColor="Red" 
         ValidationGroup="updDate1UserCreation" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        Confirm Password: 
       </td> 
       <td> 
        <asp:TextBox ID="txtCnfPwd" runat="server" TextMode="Password" /> 
       </td> 
       <td> 
        <asp:RequiredFieldValidator ID="PasswordConfirmRequiredValidator" 
          runat="server" 
          ControlToValidate="txtCnfPwd" ForeColor="red" 
          Display="Dynamic" ErrorMessage="Required" 
          ValidationGroup="updDate1UserCreation" /> 
        <asp:CompareValidator ID="PasswordConfirmCompareValidator" 
         runat="server" ControlToValidate="txtCnfPwd" 
         ForeColor="red" Display="Dynamic" ControlToCompare="txtPwd" 
         ErrorMessage="Confirm password must match password." 
         ValidationGroup="updDate1UserCreation" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <asp:Button ID="btnSubmit" runat="server" 
         OnClick="btnSubmit_Click" Text="Create User" 
         ValidationGroup="updDate1UserCreation" /> 
       </td> 
       <tr> 
        <td class="style1" colspan="3"> 
         <asp:Label ID="lblResult" runat="server" Font-Bold="true" /> 
        </td> 
       </tr> 
      </tr> 
     </table> 
    </ContentTemplate> 

</asp:UpdatePanel> 
+0

сэр, что мне нужно сделать, если он захочет загрузить вторую обновленную панель после первой кнопки отправки, нажатой из updatepanel 1 – vikas

+0

Вы можете скрыть и показать updatePanel с помощью Vi сильная протреблема. Установите для этого значение false. и когда вы нажмете кнопку «Отправить», затем отправьте обработчик кликов, вы можете попробовать установить его в true –