簡體   English   中英

如何顯示文本框類型的值=日期asp.net

[英]how to show value of textbox type=date asp.net

我有一個屬性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)">

如您所見,該值已分配。

我相信這只會發生在 Chrome 中。 它要求賦值為“yyyy-MM-dd”格式。 試試你的 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");
}

但也許更復雜的東西

對我來說這有效:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM