0

aspx ページにテキスト ボックスがあります。テキスト ボックスの値はコード ビハインドで設定されます。ブレークポイントを設定すると、テキスト値セットは「06/03/2013」になります。ただし6/3/2013、テキストボックス内のようにレンダリングされます。

txtDate.Text = DateTime.Now.ToString("MM/dd/yyyy");
//06/03/2013

としてレンダリングするにはどうすればよい06/03/2013ですか?

アップデート

注: CultureInfo.InvariantCulture を使用しても、この問題は解決されません。

注: を削除すると問題が解決することがわかりましたajax calendar control。ajaxコントロールで正しく動作させる方法はありますか?

ASP.NET ページ

<%@ Page Title="Recovery" Language="C#" MasterPageFile="~/SimplifiedMaster.Master"
AutoEventWireup="true" CodeBehind="Recovery.aspx.cs" Inherits="MyCompany.ServicesSupportSite.UI.Recovery" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

<asp:Content ID="headContent" ContentPlaceHolderID="headContentPlaceholder" runat="server">
</asp:Content>

<asp:Content ID="detailContent" ContentPlaceHolderID="detailContentPlaceholder" runat="server">
<asp:ScriptManager ID="scrRecovery" runat="server" />
<div class="recoveryValueDiv">
    <asp:TextBox ID="txtDate" runat="server" CssClass="recoveryDate" Width="100px" MaxLength="10"
        TabIndex="2"></asp:TextBox>
    <ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtDate"
        CssClass="calendarStyle" />
</div>
</asp:Content>

<asp:Content ID="scriptContent" ContentPlaceHolderID="bottomScriptContentPlaceholder"
runat="server">
</asp:Content>
4

1 に答える 1

3

カルチャの問題を回避し、セパレーターとしてInvariantCulture強制するために使用します。/

txtDate.Text = DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);

デモ

特別な意味があることに注意し/てください: me を現在のカルチャの日付区切り記号に置き換えます。

InvariantCulture プロパティの使用

Formatのプロパティを設定CalendarExtender:

<ajaxToolkit:CalendarExtender Format="MM/dd/yyyy" 
                              ID="CalendarExtender1" runat="server"      
                              TargetControlID="txtDate"
                              CssClass="calendarStyle" />

参考文献:

  1. Calendar Extender の日付形式
  2. ASP.NET AJAX カレンダー エクステンダー – ヒントとコツ

于 2013-06-03T12:50:53.617 に答える