刷新MVC中的用户控件

时间:2012-11-06 10:34:27

标签: asp.net-mvc

我的MVC应用程序中的aspx页面中有3个用户控件。 我从一个控制器绑定来自DB的数据。

选择"过滤器/状态"我想将数据(刷新)绑定到" List"用户控制没有刷新"过滤器&状态"用户控制。

下面的

是我在aspx页面中的用户控件。 请帮我刷新部分页面/用户控件。

我试过只返回" ListView"查看数据。但它正在寻找其他2个观点&抛出异常。

          <td>
                <%Html.RenderPartial("Filter", ViewData["FilterView"]); %>
            </td>

            <td valign="top" width="15%">
                <%Html.RenderPartial("Status", this.ViewData["StatusView"]); %>

            </td>
            <td valign="top" width="85%">

                <%Html.RenderPartial("List", this.ViewData["ListingView"]); %>

            </td>

1 个答案:

答案 0 :(得分:1)

做这样的事情

  1. html(aspx页面):
  2.    <div id="ListingView">
        <%Html.RenderPartial("List", this.ViewData["ListingView"]); %>
        </div>
        ...
        <input type="button" id="refreshListingView" />
    
    1. javascript来处理它:

       $('#refreshListingView').click(function () {
          var selectedStatusId = 'get here proper status id';
          $.ajax({
              url: '/YourController/GetListingView',
              type: "GET",
              data: { "statusId": selectedStatusId },
              success: function (response) {
                  $('#ListingView').html(response);
              }
          });
      });
      
    2. YourController:

      [HttpGet]
      public ActionResult GetListingView(int statusId)
      {
           ViewData["ListingView"] = your data filtered by statusId or what you want;
          return PartialView("List",ViewData["ListingView"]);
      }
      
    3. 而不是ViewData [“ListingView”]我会使用专用模型,但它只是一个例子。它应该工作。