1

カレンダーエクステンダーから日付を入力するテキストボックスがあり、コードは次のとおりです。-

<label for="input-one" class="float"><strong>Date</strong></label><br />                  
<asp:TextBox ID="txtDate" runat="server" CssClass="inp-text" Enabled="false" AutoPostBack="true"
             Width="300px" ontextchanged="txtDate_TextChanged"></asp:TextBox>
<asp:ImageButton ID="btnDate2" runat="server" AlternateText="cal2" 
                 ImageUrl="~/App_Themes/Images/icon_calendar.jpg" style="margin-top:auto;" 
                 CausesValidation="false" onclick="btnDate2_Click" />
<ajaxToolkit:CalendarExtender ID="calExtender2" runat="server" 
                              Format="dddd, MMMM dd, yyyy" 
                              OnClientDateSelectionChanged="CheckDateEalier" 
                              PopupButtonID="btnDate2" TargetControlID="txtDate" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" 
                            ControlToValidate="txtDate" ErrorMessage="Select a Date" Font-Bold="True" 
                            Font-Size="X-Small" ForeColor="Red"></asp:RequiredFieldValidator><br />

Javascriptコードは:-

function CheckDateEalier(sender, args) 
{
    sender._textbox.set_Value(sender._selectedDate.format(sender._format))
}

私の要件は、日付がテキストボックスに入力されたときに、このメソッドを呼び出したいということです。

public void TimeSpentDisplay()
{
        string date = txtDate.Text.ToString();
        DateTime dateparsed = DateTime.ParseExact(date, "dddd, MMMM dd, yyyy", null);
        DateTime currentDate = System.DateTime.Now;
        if (dateparsed.Date > currentDate.Date)
        {
            divtimeSpent.Visible = true;
        }
        if (dateparsed.Date < currentDate.Date)
        {
            divtimeSpent.Visible = true;
        }
        if (dateparsed.Date == currentDate.Date)
        {
            divtimeSpent.Visible = false;
        }
}

メソッド内でこのメソッドを呼び出すことでこれを実現する方法を教えてください。txtDate_TextChangedただし、テキストボックス内でテキストが変更されたため、イベントが発生しません。

これを達成する方法を提案するか、要件を満たすための別のアイデアを教えてください。

4

2 に答える 2

0

テキストボックスがajax更新パネル内にあるため、イベントが発生しないので修正しました。そのテキストボックスの更新パネルにトリガーを追加しましたが、正常に機能しました。

于 2012-06-25T11:14:13.960 に答える
-1

テキストボックスのAutoPostBackプロパティをtrueに変更する必要があります。

これがお役に立てば幸いです。

于 2012-06-25T09:13:56.153 に答える