C# <;asp:TextBox>;必须隐藏时间,仅显示日期

C# <;asp:TextBox>;必须隐藏时间,仅显示日期,c#,asp.net,C#,Asp.net,我有一个,我用SQL表中的日期值将其隐藏 预计日期:2017年5月23日 结果:2017年5月23日上午12:00:00 下面是我的文本框和绑定代码: <asp:TextBox ID="txtDateOrdered" runat="server" class="form-control" ReadOnly="true" /> 注意:我通过使用.ToString(“MM/dd/yyyy”)找到了答案&.toSortDateString()和两者都不起作用。请尝试下面的代码: voi

我有一个
,我用SQL表中的日期值将其隐藏

预计日期:2017年5月23日

结果:2017年5月23日上午12:00:00

下面是我的
文本框和绑定代码:

<asp:TextBox ID="txtDateOrdered" runat="server" class="form-control" ReadOnly="true" />

注意:我通过使用
.ToString(“MM/dd/yyyy”)找到了答案&
.toSortDateString()和两者都不起作用。

请尝试下面的代码:

void GetOrderHead(int ID)
    {
        string[] formats= { "MM/dd/yyyy" }

        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "SELECT * FROM Orders WHERE OrderNo=@OrderNo";
        cmd.Parameters.AddWithValue("@OrderNo", ID);
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.HasRows)
        {
            while (dr.Read())
            {
                ltID.Text = dr["OrderNo"].ToString();
                txtOrderNo.Text = dr["OrderNo"].ToString();
                txtDateOrdered.Text = DateTime.ParseExact(dr["DateOrdered"].ToString(), formats, new CultureInfo("en-US"), DateTimeStyles.None); //changing format.
                txtPreparedBy.Text = dr["PreparedBy"].ToString();
                txtStatus.Text = dr["Status"].ToString();
                txtBalance.Text = dr["Balance"].ToString();
                txtTotal.Text = dr["TotalAmount"].ToString();
            }
            con.Close();
        }
        else
        {
            con.Close();
            Response.Redirect("Default.aspx");
        }
    }


来源:

您还可以在Sql查询中更改日期格式

SELECT OrderNo, CONVERT(VARCHAR(101), DateOrdered) as DateOrdered, PreparedBy, Status, Balance, TotalAmount FROM Orders WHERE OrderNo = @OrderNo
或者使用
Datetime.ParseExact

DateTime.ParseExact(dr["DateOrdered"].ToString(), "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);

试试这个-txtDateOrdered.Text=dr.Field(“DateOrdered”).ToString(“MM/dd/yyyy”);如果您只想将其保存在文本框中并在其他位置使用,只需尝试以下代码:txtDateOrdered.Text=dr[“DateOrdered”].ToString().Split(“”)[0]
DateTime.ParseExact(dr["DateOrdered"].ToString(), "MM/dd/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);