GMDatePicker格式问题

时间:2009-12-31 05:59:01

标签: c# asp.net datepicker

我正在使用GM Date Picker ..我的代码如下:

<cc1:GMDatePicker ID="DatePicker" AutoPosition="false" runat="server" CalendarTheme="Blue"
Style="z-index: 252; left: 0px; position: absolute; top: 0px" DateFormat="dd/MM/yyyy"
TodayButtonText="">

我已经给出了上面提到的日期格式。但是,它没有采用这种格式。它只采用这种格式MM / dd / YYYY。当我保存时,它将采用当前日期..如果我以MM / dd / YYYY格式给出,它将采用正确的日期值..

如何克服这个问题?

1 个答案:

答案 0 :(得分:1)

此控件在Date属性get方法中有一个错误,每当从文本框中读取日期时,不考虑日期格式值。这是Date属性get方法的一个确切行,它抛出异常:

 DateTime time = DateTime.Parse(this.dateTextBox.Text, this.Culture);

您获取当前日期的原因是控件缓存所有异常都会返回当前日期,以防万一发生。

那么你做了什么,除了找到另一个控件或要求供应商修复这个。解决方法是直接从控件的文本框中获取日期,而不通过反射使用其Date属性并解析它。以下是如何执行此操作的示例:

TextBox textBox = (TextBox)DatePicker.GetType().InvokeMember("dateTextBox",
    BindingFlags.GetField | BindingFlags.Instance | BindingFlags.NonPublic,
    null, DatePicker, null);
if (textBox != null)
{
    DateTimeFormatInfo format = (new CultureInfo(DatePicker.Culture.Name)).DateTimeFormat;
    format.ShortDatePattern = DatePicker.DateFormat;
    DateTime date = DateTime.Parse(textBox.Text, format);
    Console.WriteLine(date.ToString());
}

希望这有帮助,尊重