ASP.NET MVC:如何将ActionResult转换为字符串?

我想采用现有的action方法,将其返回值呈现给字符串并将其作为JSON发送给AJAX请求。 为此,我需要将ActionResult渲染为字符串。我该怎么做呢? 我们可以使用this.Content()将字符串转换为ActionResult。 更新 现有和第一个操作方法返回一个ActionResult类型,但它确实返回一个ViewResult来响应HTTP post请求。我有第二个动作方法(我的外观),它返回一个响应AJAX请求的JsonResult。我希望第二个动作方法使用第一个动作方法来呈现HTML。 在宏观方案中,我想要一个ActionResult(从一个动作方法生成),不仅可以通过标准的HTTP帖子检索,还可以通过Facade动作方法(第二个动作方法)通过AJAX请求检索。这样,作为开发人员,我可以选择使用HTTP Post或AJAX来检索页面的呈现。 对不起,我试图让这个更新尽可能短。谢谢。     
已邀请:
你在找4号或6号低于标准杆? 从这里提取的文字: 了解行动结果 控制器操作返回称为操作结果的内容。操作结果是控制器操作响应浏览器请求而返回的内容。 ASP.NET MVC框架支持几种类型的操作结果,包括: ViewResult - 表示HTML和标记。 EmptyResult - 表示无结果。 RedirectResult - 表示重定向到新URL。 JsonResult - 表示可以在AJAX应用程序中使用的JavaScript Object Notation结果。 JavaScriptResult - 表示JavaScript脚本。 ContentResult - 表示文本结果。 FileContentResult - 表示可下载的文件(带有二进制内容)。 FilePathResult - 表示可下载的文件(带路径)。 FileStreamResult - 表示可下载的文件(带有文件流)。 所有这些操作结果都继承自ActionResult基类。     
将其作为ContentResult而不是ActionResult返回 我喜欢用的东西
    public ContentResult Place(string person, string seat)
    {
        string jsonString = null;
        try
        {

            jsonString = AllocationLogic.PerformAllocation(person, seat);
        }
        catch {
            jsonString = AllocationLogic.RaiseError(timeout);
        }
        return Content(jsonString);
    }
    
你确定
JsonResult
不是你想要的吗?如果你调用
Controller
中定义的
Json(object jsonObject)
方法,它会将
jsonObject
序列化为JSON并返回一个适当的响应(正确设置所有标题以及所有这些)。通常JSON请求需要POST,但您可以将其配置为允许GET。     

要回复问题请先登录注册