无法从查询字符串中获取正确的DateTime

时间:2016-03-13 22:09:35

标签: c# asp.net-mvc datetime daypilot

我对C#和MVC编码很陌生。我正在预订申请,我使用DayPilotMonth作为日历。我在我看来使用以下代码:

    @Html.DayPilotMonth("dpm", new DayPilotMonthConfig
{
BackendUrl = Url.Content("~/Home/Backend"),
TimeRangeSelectedHandling = DayPilot.Web.Mvc.Events.Month.TimeRangeSelectedHandlingType.JavaScript,
TimeRangeSelectedJavaScript = "document.location='Bokabord2?startingtime={0}';"})

根据DayPilot上的某人,TimeRangeSelectedJavaScript中的{0}以DateTime格式显示点击日期。

现在,当我尝试使用' starttime'在我的控制器中无效。似乎值始终为null,我无法找到转换它的方法。这是我一直试图使用的代码:

     public ActionResult Bokabord2(DateTime? startingtime)
    {

        DateTime startingTime;
        if (Session["InloggatId"] != null)
        {


            if (Request.QueryString["startingtime"] != null)
            {

               startingTime = Convert.ToDateTime(Request.QueryString["startingtime"]);


                ViewBag.Message2 = startingtime;
            }
            else
            {
                ViewBag.Message2 = "Error";
            }
            return View();
        }
        else
        {
            return RedirectToAction("Login", "Account");
        }

    }

当我运行应用程序时,错误消息总是显示在Convert.ToDateTime行,并说明字符串无法转换为DateTime。

提前致谢 关心菲利普

2 个答案:

答案 0 :(得分:0)

protected void builtyLinkButton_click(object sender, EventArgs e)
{
    LinkButton lnk = (LinkButton)sender;
    GridViewRow row = (GridViewRow)lnk.NamingContainer;
    Label l1 = (Label)row.FindControl("Lbl_id");
    Response.Redirect("Loading_request.aspx?Id=" + (l1.Text) + "&Date=" +  (DateTime.Now.ToString()));
}

答案 1 :(得分:0)

我刚开始工作了。问题出在View中。 我不得不改变

TimeRangeSelectedJavaScript = "document.location='Bokabord2?startingtime={0}';"

致:

TimeRangeSelectedJavaScript = "document.location='Bokabord2?startingtime=' + start;"

现在它将带有所选日期的字符串发送到控制器。关于DayPilotMonth在其网站上的功能的信息很少,因此我无法找到任何关于它的信息。谢谢大家。