【问题标题】:assign date to TextBox textmode="date" using code使用代码将日期分配给 TextBox textmode="date"
【发布时间】:2016-02-02 18:00:50
【问题描述】:

当我将日期分配给 textmode="date" 的 textBox 时,它不显示并显示 "mm/dd/yyy",尽管 textBox 在调试中具有正确的日期并且启用了 autopostBack。

DataTable dt= DepartMentDB.GetDepartmentById(ddlDepartment.SelectedValue.ToString());
string Managername = dt.Rows[0]["Dept_Manager"].ToString();
DateTime d = DateTime.Parse(dt.Rows[0]["Manager_hiredate"].ToString());
txtHiredate.Text = d.ToString("mm/dd/yyy");

【问题讨论】:

    标签: c# asp.net date datetime


    【解决方案1】:

    你想要"MM/dd/yyy"(注意大写字母 M。否则它会在工作后转换为分钟)。如果它仍然不起作用,请使用不变的文化来强制转换(因为您直接指定格式)。即:

    txtHiredate.Text = d.ToString("MM/dd/yyy", CultureInfo.InvariantCulture);
    

    编辑:实际上,这是因为日期的文本模式只支持特定的格式。主要是yyyy-MM-dd 或用户在其文化设置中指定的任何内容。见https://stackoverflow.com/a/22747762/3419825

    所以要么使用文本模式并使用 yyyy-MM-dd,要么删除文本模式,或者使用像 jQuery 这样的框架来添加掩码

    【讨论】:

      【解决方案2】:

      将您的值转换为 DateTime 对象

      【讨论】:

        猜你喜欢
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多