【问题标题】:Textbox Date Rendering Truncate Leading 0 part - ajaxToolkit CalendarExtender文本框日期渲染截断前导 0 部分 - ajaxToolkit CalendarExtender
【发布时间】:2013-06-03 12:45:47
【问题描述】:

我在 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>

【问题讨论】:

    标签: asp.net ajax ajaxcontroltoolkit


    【解决方案1】:

    使用InvariantCulture 避免文化问题并强制/ 作为分隔符:

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

    Demo

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

    Using the InvariantCulture Property

    设置CalendarExtenderFormat属性:

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

    参考:

    1. Calendar Extender Date Format
    2. ASP.NET AJAX Calendar Extender – Tips and Tricks

    【讨论】:

    • 我已经用 ASP.Net Markup 更新了这个问题。我发现如果我删除ajax calendar control,问题就会消失。有没有办法通过 ajax 控件正确工作?
    • 谢谢。将Format 用于CalendarExtender 时工作正常
    猜你喜欢
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 2013-12-23
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多