ASP.NETMVC2:jQuery调用操作,更新视图?

ASP.NETMVC2:jQuery调用操作,更新视图?,jquery,asp.net-mvc-2,Jquery,Asp.net Mvc 2,控制器: public ActionResult Index() { // not using the interface right now DealsRepository _repo = new DealsRepository(); var deals = _repo.GetDeals("<Request><ZipCode>92618</ZipCode></Re

控制器:

public ActionResult Index()
        {

            // not using the interface right now
            DealsRepository _repo = new DealsRepository();
            var deals = _repo.GetDeals("<Request><ZipCode>92618</ZipCode></Request>");

            return View(deals);
        }

        [HttpPost]
        public ActionResult Index(string data)
        {

            // not using the interface right now
            DealsRepository _repo = new DealsRepository();
            var deals = _repo.GetDeals(data);

            return View(deals);
        }
public ActionResult Index()
{
//现在不使用接口
DealsRepository _repo=新的DealsRepository();
风险值交易=_repo.GetDeals(“92618”);
返回视图(交易);
}
[HttpPost]
公共操作结果索引(字符串数据)
{
//现在不使用接口
DealsRepository _repo=新的DealsRepository();
var交易=_repo.GetDeals(数据);
返回视图(交易);
}
jQuery:

var url = '<%: Url.Action("Index", "Deal") %>';
var data = '<Request><ZipCode>92618</ZipCode></Request>';

$.post(url, data, function (result) {
    alert(result);
});
var url='';
风险值数据='92618';
$.post(url、数据、函数(结果){
警报(结果);
});
我要做的是用更新的模型刷新(重新加载)视图。。。我不想使用jQuery来更新内容。使用更新的模型重新标记视图


换句话说,一旦用户在搜索中输入了一些改进内容或选择了过滤器,我需要打电话,并用最新型号的搜索结果重新加载页面。

视图应该有一个div或类似的id对象(例如myDivId),然后在您的帖子中,您只需要这样做

$.post(url, data, function (result) {
     $('#myDivId').html(result);
});

有时我只是在点击提交按钮后重新加载页面

<script type="text/javascript">

    $("#SubmitButton").click(function () {
            window.location.reload(true); 
    }); 

</script>

$(“#提交按钮”)。单击(函数(){
window.location.reload(true);
}); 

如果您只是想刷新页面,那么JS AJAX调用没有什么好处,除非您正在等待1-30秒范围内的定时事件

如果是这种情况,请等待收到响应,然后在JS中重新加载:

window.location.reload()


(我推荐前者)

发布表单时根本不需要javascript,这似乎是您正在尝试的

只需在html表单中添加一个提交按钮。单击submit按钮时,表单将被发布到控制器,并执行与html表单关联的操作。该控制器和操作将返回一个ActionResult,如果您选择它,它将成为您的刷新视图

在您看来,您可以这样做:

<%Html.BeginForm("ActionName", "ControllerName", FormMethod.Post); %>
<!-- more form fields here -->
<input type="submit" value="Go"/>
<%Html.EndForm(); %>


不,我现在还不想使用jQuery更新页面上的内容。我宁愿刷新页面。。。这就是我想要完成的。我不认为这是我应该做的。如果需要更新模型内容,您应该如何重建视图?您可以通过传入新模型从控制器返回View(),也可以调用RedirectToView。submit按钮调用一个controller操作,您更新模型,然后再次返回它查看视图(“viewname”,model)调用。但此方法不会将任何数据传递给控制器,这是必需的。在向控制器发送后会调用此方法。是的,它会传递数据。我想举个例子,这就是答案。非常感谢。
<%Html.BeginForm("ActionName", "ControllerName", FormMethod.Post); %>
<!-- more form fields here -->
<input type="submit" value="Go"/>
<%Html.EndForm(); %>