我在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控件正确处理它?</ p>
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>
答案 0 :(得分:3)
使用InvariantCulture
来避免文化问题并强制/
作为分隔符:
txtDate.Text = DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
请注意/
具有特殊含义:将我替换为当前文化的日期分隔符。
Using the InvariantCulture Property
设置Format
的{{1}}属性:
CalendarExtender
参考文献: