ASP.NET MVC 3中的更新面板

我正在寻找一种方法在ASP.NET MVC 3中执行“更新面板”。我发现此链接: 如何在ASP.NET MVC中创建更新面板但不起作用。

所以,我在我看来这样做了:

@{Html.RenderPartial("_UserList", Model);}
function searchUserByName() { var userName = $("#userName").val(); $.post('@Url.Action("SearchUserByName")', {username: userName}, function (htmlPartialView) { $("#usersPanel").html(htmlPartialView); } ); }

在我的控制器中:

 public ActionResult SearchUserByName(string userName) { List users = // code to search users by name return PartialView("_UserList", users); } 

但我不知道是否是一个好的(或正确的)方法,或者如果有一种方法可以用asp.net mvc 3做这个。有一个更好的方法来做到这一点,或与asp.net mvc 3?

只需使用ajax请求即可获取操作方法的结果。 它基本上与asp.net中的更新面板相同。

如下所示。

 $.ajax({ async: false, cache: false, type: 'POST', url: /controller/action, data: { id: idParam }, beforeSend: function (XMLHttpRequest) { if (confirmMessage !== undefined) { return confirm(confirmMessage); } return true; }, success: function (data) { // do stuff }, error: function () { alert('An error occured'); } }); 

我会这样做的。

您可能还想查看客户端库以处理绑定等。看起来knockoutjs将包含在MVC4中

在视图中:

  

在控制器中:

 public PartialViewResult SearchUserByName(string userName) { List users = // code to search users by name return PartialView("_users", users); }