0

我想知道这是否是一个全有或全无的情况。我想做的是,通过普通的 MVC 3 加载(GET)我的页面。控制器获取模型并将其传递给视图。View 和 Razor 渲染它。但是,当我回发时,我希望它通过 AJAX 回发所选信息。这可能吗?还是我用 AJAX 做 GET 和 POST?

4

3 回答 3

1

您当然可以在使用其他方式获取之后使用 AJAX 发布。

这是一个关于 SO 的随机问题,它就是这样做的:

MVC 3 中的 Ajax 帖子与多表单视图

GET 和 POST 操作根本不必相关。

于 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 回答