簡體   English   中英

C#如何從可數據的行單元格中使用 textmode=datetimelocal 填充 aspx 文本框

[英]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.

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