2015-09-20 105 views
1

我的電子郵件訂閱的母版頁上有一些控件。添加腳本管理器時,驗證失敗

網絡表單工作正常,但不會觸發驗證,以防萬一沒有輸入電子郵件地址。

<asp:UpdatePanel ID="updSubscribe" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
      <asp:Panel ID="pnlSubscribe" runat="server" > 
       <asp:TextBox ID="txtEmail" CssClass="form-control form-subscribe-input" runat="server" placeholder="YOUR EMAIL"></asp:TextBox> 
       <asp:RequiredFieldValidator ID="rfvEmailSub" runat="server" ErrorMessage="*" ControlToValidate="txtEmail" ValidationGroup="SubEmail" ></asp:RequiredFieldValidator> 
       <asp:RegularExpressionValidator ID="revEmailSub" runat="server" ErrorMessage="*" ControlToValidate="txtEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="SubEmail" ></asp:RegularExpressionValidator> 
       <span class="input-group-btn"> 
        <asp:Button ID="btnSubscribe" CssClass="btn btn-maroon" runat="server" ValidationGroup="SubEmail" Text="Subscribe" onclick="btnSubscribe_Click" /> 
       </span> 
      </asp:Panel> 
      <asp:Panel ID="pnlSubscribeMSG" CssClass="pnlSubscribeMSG" runat="server" > 
       <asp:Label ID="lblSubscribeMSG" runat="server" Text=""> 
      </asp:Label> 
     </asp:Panel> 
    </ContentTemplate> 
</asp:UpdatePanel> 

我不確定代碼有什麼問題。

更新

關於進一步疑難解答我注意到,相同的代碼工作與檢驗頁面上沒有母版。

不確定實際發生了什麼。

回答

2

問題歸因於script manager,因爲它無法正確加載腳本文件,導致驗證失敗,花了幾個小時後,我很幸運地弄清楚了。

所以,而不是添加腳本管理器作爲

<asp:ScriptManager runat="server"></asp:ScriptManager> 

我增加它作爲

<asp:ScriptManager runat="server"> 
    <Scripts> 
     <asp:ScriptReference Name="jquery" /> 
     <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" /> 
     <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" /> 
    </Scripts> 
</asp:ScriptManager> 

link用於溶液