1

私は.Net 4.0にAjaxControlToolkitを使用しています

日付と時刻を MM/DD/YYYY HH:MM 形式、つまり 24 時間形式の米国日付形式で表示/受け入れるテキスト ボックスを含むフォームを使用しています。

MaskedEditExtender と MaskedEditValidator で TextBox を使用しました。次のコードを見てください -

<p>
        First Date Time : 
        <asp:TextBox ID="txtDateTime1" runat="server"></asp:TextBox>
        <asp:MaskedEditExtender ID="mskDateTime1" runat="server" 
            Mask="99/99/9999 99:99" MaskType="DateTime" TargetControlID="txtDateTime1" 
            UserTimeFormat="TwentyFourHour">
        </asp:MaskedEditExtender>
        <asp:MaskedEditValidator ID="mskValDateTime1" runat="server" 
            ControlExtender="mskDateTime1" ControlToValidate="txtDateTime1" 
            IsValidEmpty="False"></asp:MaskedEditValidator>
    </p>

    <p>
        Second Date Time : 
        <asp:TextBox ID="txtDateTime2" runat="server"></asp:TextBox>
        <asp:MaskedEditExtender ID="mskDateTime2" runat="server" 
            Mask="99/99/9999 99:99" MaskType="DateTime" TargetControlID="txtDateTime2" 
            UserTimeFormat="TwentyFourHour">
        </asp:MaskedEditExtender>
        <asp:MaskedEditValidator ID="mskValDateTime2" runat="server" 
            ControlExtender="mskDateTime2" ControlToValidate="txtDateTime2" 
            IsValidEmpty="False"></asp:MaskedEditValidator>
    </p>

上記の形式で日付を表示するために、以下に示すように ToString() で形式を使用しています-

protected void Page_Load(object sender, EventArgs e)
        {
            txtDateTime1.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm");
            txtDateTime2.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm");
        }

日付と時刻は正しく表示されますが、フォーカスがテキスト ボックスの外に出ると時刻が変わります。

なぜこれが起こっているのかわかりません。

次のスナップショットを見てください -

A) もともと ソフトウェアジーニアス株式会社

B) フォーカスアウト後に変更 ソフトウェアジーニアス株式会社

誰でもこの問題を解決するのを手伝ってくれますか?

もしあれば、より良いアイデアを提供してください。

あなたの知恵を共有してくれてありがとう。

4

1 に答える 1

0

最後に、開発者からの返信がなかったので、自分の質問に返信しました。実際には MaskEditExtender の問題であることがわかりました。このディスカッションを確認できます。

于 2012-07-25T11:17:03.263 に答える