2015-09-20 1 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> 

Я не уверен, что не так с кодом.

Update:

О дальнейшем устранении неисправностей я заметил, что тот же код работает с проверкой на странице, не MasterPage.

Не уверен, что на самом деле происходит.

ответ

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 для источника раствора