【问题标题】:jQuery DatePicker - Populate date value from code behind not workingjQuery DatePicker - 从不工作的代码中填充日期值
【发布时间】:2012-06-22 17:16:08
【问题描述】:

我有一个使用 jQuery DatePicker 的文本框。当文本框没有值时它工作正常。我有一个按钮,单击该按钮,我将使用日期值填充此文本框。然后,如果我单击文本框,日期选择器不会出现。我尝试以两种格式填充日期。

<script>
$(function () {
    $('#InputNamesBirthday').datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "dd-mm-yy",
        defaultDate:null,
        altFormat: "yy-mm-dd"
    });
});
 </script>


birthDate = Convert.ToDateTime(dataReaderNames["BORN"]);
InputNamesBirthday.Text = birthDate.ToString("yyyy-MM-dd", CultureInfo.CreateSpecificCulture("en-US"));

谢谢, 开发

【问题讨论】:

  • 服务器端代码 ("yyyy-MM-dd") 中的日期格式与客户端代码("dd-mm-yy""yy-mm-dd")中的任何一种格式都不匹配。
  • C# 中的 yyyy 产生 2006 与 jQuery 中的 yy 相同。并且存储的格式是由 altFormat 而不是 dateFormat 定义的。

标签: c# jquery asp.net datepicker


【解决方案1】:

问题很可能是 jquery 选择器。这是网络表单的常见问题。服务器 ID 很少与客户端 ID 匹配。这是因为 webforms 会根据控件嵌套的容器自动生成 ID。例如,转发器中的文本框、用户控件中、页面上的母版页将生成类似这样的客户端 id。

master$usercontrol$repeater$0$textbox

解决这个问题的最简单方法是使用类选择器来访问元素,而不是使用 ID。

【讨论】:

  • 在客户端和服务器端发布更新的代码。顺便说一句:您的日期格式在客户端和服务器之间是不同的。
猜你喜欢
  • 1970-01-01
  • 2014-05-04
  • 1970-01-01
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-22
  • 2013-08-03
相关资源
最近更新 更多