2017-05-24 4 views
0

すべてのテキストボックスとドロップダウンリストで必須のフィールド検証コントロールを使用しています。ボタンのページを押すとポストバックされませんが、テキストボックスやドロップダウンリストが空の場合、ボタンをクリックするとエラーメッセージが表示されます。必要なフィールド検証コントロール付きのボタンクリックイベントでページがポストバックされない

ボタンコントロールでCausesValidation="false"プロパティを使用すると、すべての検証コントロールが無効になり、ページはボタンクリック時にポストバックされます。

私は、そのページがボタンクリックでポストバックし、必要なフィールド検証コントロールもボタンクリックで動作するようにします。

<div class="row" id="question"> 
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
     <div class="row"> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="form-group"> 
        <asp:TextBox ID="questions" runat="server" class="form-control input-sm floatlabel" placeholder="Question" TextMode="MultiLine"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" CssClass="textalignment" ErrorMessage="Question is required" ControlToValidate="questions" ForeColor="Red"></asp:RequiredFieldValidator> 
       </div> 
      </div> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="row"> 
        <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
         <img id="imgprvw" class="img-responsive" /> 
        </div> 
       </div> 
       <div class="row"> 
        <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
         <input type="file" name="filUpload" id="filUpload" onchange="showimagepreview(this)" /> 
        </div> 
       </div> 
      </div> 
     </div> 
     <!-- End Question and Question type Selection --> 
     <div class="row"> 
      <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
       <div class="form-group"> 
        <div class="form-group"> 
         <asp:DropDownList ID="ddlanswers" runat="server" class="form-control input-sm floatlabel" OnChange="showDiv(this)"> 
          <asp:ListItem Text="Answer Type" Value="0"></asp:ListItem> 
          <asp:ListItem Text="Multiple Choices" Value="1"></asp:ListItem> 
          <asp:ListItem Text="Fill In The Blacks" Value="2"></asp:ListItem> 
          <asp:ListItem Text="Multi Select Choices" Value="3"></asp:ListItem> 
          <asp:ListItem Text="Descriptive Answer" Value="4"></asp:ListItem> 
         </asp:DropDownList> 
         <asp:RequiredFieldValidator ID="RequiredFieldValidator2" InitialValue="0" CssClass="textalignment" runat="server" ErrorMessage="Answer Type is required" ControlToValidate="ddlanswers" ForeColor="Red"> 
          </asp:RequiredFieldValidator> 
        </div> 
       </div> 

      </div> 
     </div> 

     <div class="row" id="row1"> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="form-group"> 
        <asp:TextBox ID="multichoice1" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 1"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice1" ForeColor="Red"></asp:RequiredFieldValidator> 
       </div> 
      </div> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="form-group"> 
        <asp:TextBox ID="multichoice2" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 2"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice2" ForeColor="Red"></asp:RequiredFieldValidator> 
       </div> 
      </div> 
     </div> 

     <div class="row" id="row2"> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="form-group"> 
        <asp:TextBox ID="multichoice3" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 3"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice3" ForeColor="Red"></asp:RequiredFieldValidator> 
       </div> 
      </div> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="form-group"> 
        <asp:TextBox ID="multichoice4" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 4"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice4" ForeColor="Red"></asp:RequiredFieldValidator> 
       </div> 
      </div> 
     </div> 

     <div class="row" id="row3"> 
      <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> 
       <div class="form-group"> 
        <asp:TextBox ID="TextBox1" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 5"></asp:TextBox> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice4" ForeColor="Red"></asp:RequiredFieldValidator> 
       </div> 
      </div> 
     </div> 


     <asp:Button ID="Button1" runat="server" Text="Button" UseSubmitBehavior="false" CssClass="btn btn-default" OnClick="Button1_Click1" /> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </div> 
</div> 
+0

UseSubmitBehavior = "false"は必要ありません。 web.configに珍しい設定がありますか? UnobtrusiveValidationModeを何かに設定しましたか? – kman

+0

私はweb.configを変更しませんでした。私はデフォルトweb.configを持っています。 –

+0

検証エラーのないボタンをクリックしてポストバックしないと、コンソールにJavaScriptエラーが表示されますか? – kman

答えて

0

ボタンのプロパティで、UseSubmitBehavior = "false"またはSet UseSubmitBehavior = "true"を削除します。

ご希望の場合はこちらをご覧ください。

+0

両方を試しましたが、動作しません –

+0

UseSubmitBehaviorを削除しましたが、ボタンが機能しません。 –

0

私はこれを1行のコードでコードビハインドで行うことができると思います。これをButton1_Click1メソッドに入れてください。

ScriptManager.GetCurrent(this).RegisterPostBackControl(Button1); 
+0

オンボタンをクリックするとonclickイベントに入力されません。私はまた、イベントにブレークポイントを置く。 –

関連する問題