我在SQL Server数据库中得到一个DateTime,并想在Input中显示它:
<input class="form-control" type="date" name="ExpireDate" id="expiredate" runat="server" value="31/12/2016" style="height: 30px; width: 267px">Run Code Online (Sandbox Code Playgroud)
这是我的C#代码:
Medicine med = new Medicine();
int a = GridView1.SelectedIndex;
med.ID = int.Parse(GridView1.DataKeys[a].Value.ToString());
DataProcess bal = new DataProcess(); DataTable dt = bal.getInfo(med)
expiredate.Value = Convert.ToDateTime(dt.Rows[0][5]).ToString("dd/MM/yyyy");
Run Code Online (Sandbox Code Playgroud)
我在最后一行的后面放了一个断点,看到dt.Rows[0][5]了“ {2017/5/31 0:00:00}”和 expiredate.Value“ 31/05/2017”,但是它在网页中没有任何显示而没有错误。而且此DateTime记录是通过完全相同的Input插入到DataBase中的,当我从DataBase中拔出它时,我只是不知道如何在同一Input中显示它。
第一次问,非常感谢!
小智 5
这里的问题是html日期输入的格式,而asp.net DateTime不匹配。date显示HTML 输入,mm/dd/yyyy但后面的格式是yyyy-MM-dd。
尝试使用 expiredate.Value = Convert.ToDateTime(dt.Rows[0][5]).ToString("yyyy-MM-dd");
希望这可以帮助。