当我将日期分配给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");
答案 0 :(得分:2)
你想"MM/dd/yyy"
(注意大写M.否则它会在工作后转换为分钟)。如果它仍然不起作用,请使用不变文化强制转换(因为您直接指定格式)。即:
txtHiredate.Text = d.ToString("MM/dd/yyy", CultureInfo.InvariantCulture);
编辑:实际上,这是因为date的textmode仅支持特定格式。主要是yyyy-MM-dd
或用户在其文化设置中指定的任何内容。见https://stackoverflow.com/a/22747762/3419825
所以要么使用文本模式并使用yyyy-MM-dd,要么删除textmode,要么使用像jQuery这样的框架来添加掩码
答案 1 :(得分:1)
将您的值转换为DateTime对象