我使用DataTable填充Web表单上的下拉列表,以及使用存储过程查询数据库。该列表仅从数据库中检索一个字段,并将与gridview一起使用以查看在特定日期进行的所有预留。
除日期格式外,一切正常。现在它显示日期以及小时,分钟和秒。我已经尝试使用WebForme的DataFormatString属性,但没有运气。
网络表单:
<b>Please select a date:</b>
<asp:DropDownList ID="ddlDateSelection" runat="server" DataFormatString="{0:MM/dd/yyyy}"></asp:DropDownList>
<br />
<asp:Label ID="lblError" runat="server" CssClass="validate"></asp:Label>
用于查询数据库的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
loadDates();
}
protected void loadDates()
{
DataTable dates = new DataTable();
using (SqlConnection con = new SqlConnection(DBAccess.GetConnectionString()))
{
SqlCommand cmd = new SqlCommand("usp_sel_ReservationDates", con);
cmd.CommandType = CommandType.StoredProcedure;
try
{
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dates);
ddlDateSelection.DataSource = dates;
ddlDateSelection.DataTextField = "ReservationDate";
ddlDateSelection.DataBind();
}
catch (Exception ex)
{
lblError.Text = "Something bad has happened. Please try again.<br />Message: " + ex;
}
}
ddlDateSelection.Items.Insert(0, new ListItem("Please Select", "0"));
}
任何帮助都将非常感谢,因为这是我自己的学习项目。感谢
答案 0 :(得分:2)
可能你需要引用正确的属性
<asp:DropDownList ID="ddlDateSelection" runat="server"
DataTextFormatString="{0:MM/dd/yyyy}">
</asp:DropDownList>
答案 1 :(得分:1)
您可以编辑SQL代码以仅返回日期
SELECT CONVERT (DATE, GETDATE())
结果:2013-07-14