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);

演示

请注意,它/具有特殊含义:将我替换为当前区域性的日期分隔符。

使用 InvariantCulture 属性

设置 的Format属性CalendarExtender

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

参考:

  1. 日历扩展器日期格式
  2. ASP.NET AJAX 日历扩展器 - 提示和技巧

于 2013-06-03T12:50:53.617 回答