在后面的代码中将字符串转换为日期格式

时间:2011-05-25 17:48:12

标签: c# asp.net

我使用Jquery日期选择器拉日期并使用以下代码将其存储在文本框中

在头部

<script src="Scripts/jquery.ui.datepicker.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        $("#<%= TxtDatepicker_start.ClientID %>").datepicker();
    });
    </script>
<script type="text/javascript">
    $(function () {
        $("#<%= TxtDatepicker_end.ClientID %>").datepicker();
    });
    </script>

在正文部分



开始日期:       

  &nbsp;&nbsp;End Date: <asp:TextBox ID="TxtDatepicker_end" runat="server" Width = 125px >
  </asp:TextBox>
  &nbsp;&nbsp;&nbsp;&nbsp;<asp:Button ID="Button_daterecords" runat="server"  Text="Show records"  OnClick ="SQLDisplay_Date_records" /><br />



现在的问题是如何在文本框中获取值并将其转换为后面代码中的日期(YYYY-MM-DD)格式?

我尝试对其进行类型转换,但后来在

后面的代码中出现了这个错误

无法将system.datetime隐式转换为system.common.dbparameter

我在后面的代码中使用的代码是

protected void SqlDataSource2_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
        {
            e.Command.Parameters["@username"].Value = HttpContext.Current.User.Identity.Name;
            e.Command.Parameters["@Txt_selected_start_date"] = DateTime.Parse(TxtDatepicker_start.Text);


        }

由于

3 个答案:

答案 0 :(得分:1)

问题是你的e.Command.Parameter [“...”]期望的是DateTime以外的类型。字符串通常有效,请尝试

DateTime.Parse(txtDatepicker_end.Text).ToString("YYYY-MM-dd");

DateTime的ToString()方法允许您将任何格式应用于您的日期。

你也忘了:

e.Command.Parameter["..."]

应该是

e.Command.Parameter["..."].Value

答案 1 :(得分:0)

DateTime.Parse(TxtDatepicker_end.Text);

答案 2 :(得分:0)

您需要将结果分配给DbParameter的.Value属性:

e.Command.Parameters["@Txt_selected_start_date"].Value = DateTime.Parse(TxtDatepicker_start.Text);