0

私のスクリプトは次のとおりですfromdatetodate

<table><tr><td>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>    

        <asp:Label ID="Label1" runat="server" Text="Fromdate:"> </asp:Label>
    <asp:TextBox ID="fromdatetxt" runat="server" Height="21px" Width="103px" ></asp:TextBox>
    <ajaxToolkit:CalendarExtender ID="fromdatetxt_CalendarExtender" runat="server" 
        Enabled="True" TargetControlID="fromdatetxt">
    </ajaxToolkit:CalendarExtender>

    </td>
           <td>
               <asp:Label ID="Label2" runat="server" Text="Todate:"></asp:Label>
               <asp:TextBox ID="todatetxt" runat="server" Height="21px" Width="105px" ></asp:TextBox>
               <ajaxToolkit:CalendarExtender ID="todatetxt_CalendarExtender" runat="server" 
                   Enabled="True" TargetControlID="todatetxt">
               </ajaxToolkit:CalendarExtender>

    </td>
    <asp:CompareValidator ID="CompareValidatorDate" runat="server" ControlToCompare="todatetxt"
    ControlToValidate="fromdatetxt" Display="None" ErrorMessage="From date cannot be greaterthan To date"
    operator = "LessThanEqual" Type="Date" ValidationGroup="DateValidation"></asp:CompareValidator>


               <td>
                   <asp:Button ID="Button1" runat="server" Text="Submit" onclick="Button1_Click" ValidationGroup="DateValidation" />

                  <asp:ValidationSummary ID="ValidationSummaryDate" ShowMessageBox="true" ShowSummary="False"
                  ValidationGroup="DateValidation" runat="server" /></td></tr></table>


   </asp:Panel>

これはうまくいっています!ボタンをクリックしたときにのみメッセージボックスが表示されます。しかし、カレンダーコントロールで日付をクリックした瞬間にメッセージボックスを取得したいのでTodate、テキストボックスをクリアする必要があります。私を助けてください 。

4

2 に答える 2

0

javascript の「Page_ClientValidate」関数と CalendarExtender の「OnClientDateSelectionChanged」イベントを使用して問題を解決できます。

CompareValidator を変更する必要はありません。

<asp:CompareValidator ID="CompareValidatorDate" runat="server" ControlToCompare="todatetxt"
            ControlToValidate="fromdatetxt" Display="None" ErrorMessage="From date cannot be greater than To date"
            Operator="LessThanEqual" Type="Date" ValidationGroup="DateValidation"></asp:CompareValidator>

OnClientDateSelectionChanged イベントを CalendarExtender に追加する必要があります。

<ajaxtoolkit:CalendarExtender id="todatetxt_CalendarExtender" runat="server" enabled="True"
                targetcontrolid="todatetxt" OnClientDateSelectionChanged="validate" >

ここでの「検証」はJavaScript関数です。その関数では、JavaScriptの「Page_ClientValidate」メソッドを次のように使用する必要があります

var validate = function () {
    var isValid = Page_ClientValidate("DateValidation"); //parameter is the validation group
    if (!isValid) {
        $("#<%= todatetxt.ClientID %>").val(''); //jquery to clear the textbox
    }
}

都合に合わせて「検証」機能を変更できます。

これが役に立ったことを願っています。

よろしく、

サマール

于 2013-07-24T08:47:10.180 に答える