【问题标题】:Passing DatePicker value to Controller and Views将 DatePicker 值传递给控制器​​和视图
【发布时间】:2012-05-16 09:52:20
【问题描述】:

我有一个带有日期选择器控件的视图和页面上的几个部分视图。日期在控制器的 ViewData 中默认设置为今天的日期,用于在页面加载时显示。当用户在日期选择器中更改日期时,如何将选定的值从 Jquery 变量传递到 Controller 的 ViewData 并更新所有部分视图?

【问题讨论】:

    标签: jquery asp.net-mvc model-view-controller jquery-ui-datepicker


    【解决方案1】:

    日期选择器控件只是一个 HTML 元素,它具有一些关联的 javascript 来帮助用户选择日期。它完全是客户端,这意味着它在浏览器上运行(例如 IE、Firefox、Chrome)。 ViewData 是一个临时存储,可以由控制器操作中的服务器端代码(例如 C#)填充,然后在视图中使用以生成将发送到客户端浏览器的 HTML 响应。因此,您不能将 jQuery 变量传递给 ViewData,这没有任何意义。

    如果您想更新由您的部分生成的页面部分,您有几个选择。

    (a) 执行回发,将日期时间传递回控制器操作并刷新整个页面(非常简单,但可能不会提供良好的用户体验,具体取决于您要执行的操作)。

    (b) 使用 Ajax 更新您想要更新的页面部分(涉及更多但可以提供更好的用户体验)。

    【讨论】:

      【解决方案2】:

      @Tony,感谢您的回复。我把它放在错误的方式上,我想将 jquery 变量传递给 viewdata,我的意思是基于 jquery 变量(datepicker 选择的值),我必须重新加载部分视图。 我必须在 Ajax 中执行此操作,这是我遵循的程序 在 JavaScript 中:

          $(function () {
              $('#datePickerID').datepicker({
              onSelect: function (dateText, inst) {
              $.post('<%=Url.Action("GetControllerActionResult","ControllerName") %>',
              { parameter1: dateText },
              function (rawdata) {
              var data = $.parseJSON(rawdata);
      $('htmlID or className of your partial view').html(data.dataString); //rendering your partial view
      }
              );
      }
              });;
      

      在控制器中:

       public ActionResult GetControllerActionResult(dataType parameter1) {
          ViewData["someValue"] = parameter1;
          ViewData["yourPartialViewObject"] = perform some action...
      
          var data = new Dictionary<string, object>();
          data.Add("dataString", this.RenderViewToString("partialViewName", ViewData["yourPartialViewObject"]));
          return Content(GetJSONString(data));
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-19
        • 2012-01-27
        • 2017-08-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多