[英]How to populate an asp:textbox in TextMode=“DateTimeLocal”
[英]C# How to populate aspx Textbox with textmode=datetimelocal from a datable row cell
幾個小時以來,我一直試圖解決這個問題,但我還沒有接近解決它。
發生的事情是我試圖填充下面的控件
<asp:TextBox ID = "TxtDateReceived" runat = "server"
CssClass = "TxtFont" Width = "300px" Height = "25px"
TextMode = "DateTimeLocal"> </asp:TextBox>
將值存儲在數據表的行中的單元格中,如下所示(dt加載了一個拉sql數據的方法,加上我已經確定dt.Rows[0][7]
它不是空的)
TxtDateReceived.Text = dt.Rows[0][7].ToString();
dt.Rows[0][7]
是8/18/2018 13:38:00
PD 這是我在嘗試填充該字段時得到的結果
在別處找到了這個答案(以供將來參考)。
盡管日期/時間在文本框中顯示為 mm/dd/yyyy,但它實際上必須格式化為yyyy-MM-dd
才能從代碼隱藏中填充。 並且也僅在 Chrome 中。 至少對我來說。
不確定時間格式。 對於我的應用程序,我只需要日期,如果我將它作為MM/dd/yyyy
傳遞,Chrome 將不會從后面的代碼填充值。
例如,就我而言:
tbDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
那奏效了。
我已經使用了帶有少量臨時日期格式行的DataTable ,它對我來說絕對有效。
C# 測試代碼
DataTable table = new DataTable();
table.Columns.Add("Date");
for(int i=18;i<21;i++)
{
table.Rows.Add("8/"+i+"/2018 13:38:00");
}
TxtDateReceived.Text = table.Rows[2][0].ToString();
Aspx設計
<asp:TextBox ID = "TxtDateReceived" runat = "server"
CssClass = "TxtFont" Width = "300px" Height = "25px"
TextMode = "DateTimeLocal"> </asp:TextBox>
此外,從 sql 中獲取數據可能有問題,也可能有其他沖突,但它向您展示的效果也很好。
當我不得不將 gridview 數據調用到文本框時,我做了同樣的事情。 但我做得有點不同,它對我來說效果很好。
TxtDateReceived.Text = dt.Rows[0][7].ToString();
My version:
if (e.CommandName == "Select")
{
Int32 num = Convert.ToInt32(e.CommandArgument); //This just needs to be done once.
TxtDateReceived.Text = dt.Rows[num].Cells[cell number].Text;
}
我不確定這是否正是您要找的。 但從你的問題來看,這聽起來非常接近我之前遇到的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.