使用代码将日期指定给TextBox textmode =“date”

时间:2016-02-02 18:00:50

标签: c# asp.net date datetime

当我将日期分配给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");

2 个答案:

答案 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对象