0

我正在使用 asp.net mvc4。我有一个操作方法,它是一个 get 方法,因为它返回一个从 JavaScript/Jquery 调用的 mvc 视图。

javascript 向控制器操作发出 get 请求。我有一个想要传递给 mvc 操作的 json 对象。但是作为一个获取请求,因为我需要从中返回一个视图,所以它很难构成。

是否可以传递一个映射到控制器操作签名上的对象的 json 对象?我正在寻找可能有帮助的库,例如http://benalman.com/projects/jquery-bbq-plugin/

任何提示或想法?

4

2 回答 2

1

您可以使用诸如 servicestack http://www.servicestack.net/之类 的东西,它可以处理所有事情,并且做得很好,作为替代方案,还有 MVC API 选项,但 servicestack 在这方面做得更好。

我相信如果你看这个项目,你要么会从中得到很棒的想法,要么学会将数据驱动的代码与 UI 项目分离。

于 2013-03-30T00:10:39.023 回答
1

您不需要任何外部 API 来执行此操作。您需要做的就是创建一个与 JSON 对象具有相同属性和名称的 c# 对象。例如,将对象创建为

public class MyObject{
    public string MyProperty1{get; set;}
    public string Property2{get; set;}
}

在 jquery 中创建对象是正确的,我假设并使用 jquery 语法
,如下所示

$.get('@Url.Action("MyAction","MyController")',
    {myObject: jqueryObject},
    function(resp){$("#myDiv").innerHTML(resp);});

如果是 Action 使用函数声明,例如

public ActionResult MyAction(MyObject myObject)
{
    // your code here
    return PartialView("_MyPartialView", myModelForPartialView);
}

顺便说一句,这种方式适用于 Get 和 Post。

于 2013-03-31T02:11:20.650 回答