0

我需要渲染部分视图(从控制器返回)以显示一些客户摘要详细信息。这需要在用户单击按钮时发生。同时,用户可以在网格上选择不同的客户。我在网格选择更改事件上使用 jquery 在隐藏字段中记录选定的客户 ID。当用户单击按钮时,我需要将此隐藏字段值(选定的 id)传递给控制器​​,控制器会执行一些工作并返回部分视图。然后我需要在页面上呈现这个局部视图。我尝试了以下但有两个问题

  1. 我不知道如何将隐藏字段值发送到控制器
  2. 呈现部分视图后,如果用户选择另一个客户并再次单击该按钮,我将无法重新呈现它

编码:

  #PlaceHolder is just a div element

function DoSomwWork() {
                $('#PlaceHolder')
                .load('<%= Url.Action("GetSelectedCustSummary", 
                                      "SomeController", 
                                       new { selectedId = **HIDDEN FIELD VAL HERE** })%>');
            }
        }
4

1 回答 1

0

我怀疑你能做到这一点。

但是,由于您已经在使用 MVC,您应该能够定义一个操作(在您的情况下为“GetSelectedCustSummary”)并返回一个 json 对象,然后使用您的 jQuery 操作它

更新:定义动作方法类似于:

[HttpGet]
public JsonResult ActionName(string id)
{
    //some logic here to get QueryResult
    return Json(QueryResult, JsonRequestBehavior.AllowGet);
}

然后在 Jquery 中调用您的操作方法:

$.ajax({
    //you can assign id dynamically
    url: '<%= Url.Content("~/Controller/ActionName/YourId") %>',
    type: 'GET',
    dataType: 'json',
    success: function (data) {
       //manipulate your div content with data
    },
    error: function (e) {
        //manipulate your div content with error
    }
});

每次单击更新按钮时,分配您想要的 id,并触发 Jquery 功能。它在我的项目中对我有用

于 2010-07-13T03:57:55.063 回答