从日期选择器中获取日期值

时间:2014-07-21 15:49:53

标签: c# javascript asp.net-mvc

我是MVC的新手,我正在尝试获取用户从日期选择器中选择的日期,并根据用户输入显示另一组日期。日期选择器工作正常,但我不知道如何获取日期的值并将其传递给计算。我创建了一个文本框来获取用户想要显示的天数以及用于启动计算的按钮,但是我创建按钮的方式也创建了另一个文本框。

以下是视图代码:

@using (Html.BeginForm())
    {
        <h2>Enter The Number Of Days To Display</h2>
        Date: <input type="text" id="date" name="date"value ="Enter a number"/>
       @Html.TextBoxFor(model => model.DaysToBeViewed)
       <input type="submit" value="Display Days" />

2 个答案:

答案 0 :(得分:2)

  1. 您可以将日期值部分发布到控制器方法。像这样:

    @using(Html.BeginForm())     {         

    输入要显示的天数

            日期:        @ Html.TextBoxFor(model =&gt; model.DaysToBeViewed)        //将类型更改为按钮         }

  2. <强>使用Javascript:

    $(document).ready(function(){
       $("#submitDate").on("click", function(){
          $.ajax({
            type: "POST",
            url: "../MyController/Calculate?date=" + $("input#date").val(),
                                                               // syntax was wrong here
               success: function (result) {
                  $("#DaysToBeViewed").val(result);
               },
               error: function () {
                 alert("Error in calculation method");
               }
            });
           });
        });
    

    <强>控制器:

    public string Calculate(string date) 
    {
        // do your calculation here
        return date;
    }
    
    1. 如果您想发布数据,那么您需要更改这样的BeginForm:
    2. 查看:

      @using (Html.BeginForm("Calculate", "ControllerName", FormMethod.Post, 
                                            new { enctype = "multipart/form-data" }))
      {
          <h2>Enter The Number Of Days To Display</h2>
              Date: <input type="text" id="date" name="date" value ="Enter a number"/>
             @Html.TextBoxFor(model => model.DaysToBeViewed)
             <input type="submit" value="Display Days" />
      }
      

      <强>型号:

      public class MyData
      {
          public string DaysToBeViewed {get; set;}
          public string date {get; set;}
      }
      

      <强>控制器:

      [HttpPost]
      public ActionResult Calculate(MyData myData) 
      {
          // do your calculation here
          return View();
      }
      

答案 1 :(得分:1)

你试过getDate吗?

var currentDate = $( "input#date" ).datepicker( "getDate" );

这将返回datepicker的当前日期,如果没有选择日期,则返回null。

您可以查看API以查看其他替代方法(例如onSelect)

的问候, 安德烈