如何显示textbox type = date asp.net的值

时间:2014-05-08 07:41:30

标签: javascript html asp.net textbox

我有一个包含属性type="date"的文本框。我能够在反码中检索值,但是当我尝试分配值时,会显示占位符"mm/dd/yyyy"

当我查看标记时,预期值为 - "value='01/01/1991'"。我认为它与JavaScript重写价值有关。

关于如何解决这个问题的任何建议?

编辑:抱歉,忘记包含标记和代码

所以我的标记是

<asp:TextBox ID="txtBirthdate" runat="server" class="form-control input-sm" type="date" onkeypress="handleEnter(event)" />

和c#是

txtBirthdate.Text = usr.BirthDate.ToString("MM/dd/yyyy");

生成的标记是

<input name="ctl00$ctl00$ctl00$ctl00$Body$Body$Body$Body$txtBirthdate" value="01/20/1991" id="ctl00_ctl00_ctl00_ctl00_Body_Body_Body_Body_txtBirthdate" class="form-control input-sm" type="date" onkeypress="handleEnter(event)">

如您所见,该值已分配。

2 个答案:

答案 0 :(得分:2)

我相信这只发生在Chrome中。它要求价值分配在&#34; yyyy-MM-dd&#34;格式。试试你的C#

txtBirthdate.Text = usr.BirthDate.ToString("yyyy-MM-dd");

这应该显示正确的值(并且它不会影响显示的格式)。

如果在其他浏览器中以这种格式显示。您可能想要进行一些浏览器检测,例如

if (Request.Browser.Browser == "Chrome")
{
    txtBirthdate.Text = usr.BirthDate.ToString("yyyy-MM-dd");
} else {
    txtBirthdate.Text = usr.BirthDate.ToString("MM/dd/yyyy");
}

但也许更复杂的东西

答案 1 :(得分:0)

对我来说这是有效的:

txtBirthdate.Text = Convert.ToDateTime(TablaHabitacion.Rows[fila].Cells[6].Text).ToString("yyyy-MM-dd");