C# 从控制器返回不同的类型

C# 从控制器返回不同的类型,c#,asp.net-mvc,controller,action,complextype,C#,Asp.net Mvc,Controller,Action,Complextype,有没有一种方法可以使用ajax将模型返回到客户端? 在mvc控制器中,我正试图做到这一点 MyController : Controller { public MyObjectType GetNew() { return new MyObjectType(); } } 这只会返回到客户端“assembleName.MyObjectType”。 也许有一些方法可以重写,但我不知道整个框架。您可以将对象序列化为JSON并返回一个。在客户端,您可以再次对其进行

有没有一种方法可以使用ajax将模型返回到客户端? 在mvc控制器中,我正试图做到这一点

MyController : Controller
{
    public MyObjectType GetNew()
    {
        return new MyObjectType();
    }
}
这只会返回到客户端“assembleName.MyObjectType”。
也许有一些方法可以重写,但我不知道整个框架。

您可以将对象序列化为JSON并返回一个。在客户端,您可以再次对其进行反序列化


您应该调用该方法将对象序列化为JSON。

正如Patrick建议的那样,您可以返回JsonResult。否则,ApicController将为您序列化

MyController : ApiController
{
    public MyObjectType GetNew()
    {
        return new MyObjectType();
    }
}

你能返回一个JSON对象吗?如果给出的答案对你不起作用,你需要提供更多的细节。如果您想在浏览器中使用该对象,那么您需要将其序列化为XML或JSON或您自己设计的某种字符串表示形式,没有其他方法。如果要在视图中使用此对象,然后你需要将它粘贴到ViewBag和Razor中,你可以用正常的方式或多或少地处理对象。详细说明你对所寻找的解决方案类型所做的决定会很好。我不想返回JsonResult,也不想使用ApiController,因为发布时它只接受1个参数,因此,在对象中包装参数以接收数据不是我的任务。有什么理由不想这样做吗?您希望客户端如何接收数据?您可以在一个操作中轻松传递多个参数。当返回未知类型时,mvc控制器调用“ToString”方法。但是当它是数组时,控制器只返回它的类型。当你在调用中包装它时?