当我将日期分配给 textmode= "date"的文本框时,它不显示并显示 "mm/dd/yyy"尽管文本框在调试中具有正确的日期并且启用了 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");
最佳答案
您需要 "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 这样的框架来添加掩码
关于c# - 使用代码将日期分配给 TextBox textmode ="date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160632/