我想知道这是否是一个全有或全无的情况。我想做的是,通过普通的 MVC 3 加载(GET)我的页面。控制器获取模型并将其传递给视图。View 和 Razor 渲染它。但是,当我回发时,我希望它通过 AJAX 回发所选信息。这可能吗?还是我用 AJAX 做 GET 和 POST?
3 回答
            1        
        
		
于 2012-07-23T17:22:11.373   回答
    
    
            1        
        
		
试试下面的东西。
控制器代码:
[HttpGet]
    public ActionResult WhateverActionName()
    {
        YourViewModel yvm = new YourViewModel();
        //Initalize viewmodel here
        Return view(yvm);
    }
[HttpPost]
public ActionResult WhateverActionName(YourViewModel yvm)
{
    if (ModelState.IsValid) {
        RedirectToAction("OtherAction", "OtherController")
    }
    return View(yvm);
}
阿贾克斯:
$.ajax({
    url: myurl
    // processData: false, // you may need this option depending on service setup
    success: function(){
        location.href = "TARGET LOCATION";
    },
    type: "POST"
});
对于目标位置:您需要为 ajax 提供一个变量,该变量包含以下生成的任何 URL
@URL.Action("Action", "Controller")
于 2012-07-23T17:25:56.207   回答
    
    
            0        
        
		
http://knockoutmvc.com提供了一种将服务器端代码与客户端集成的好方法,看起来它可以帮助您轻松实现您想要的。
于 2012-07-23T17:29:33.977   回答