【问题标题】:Display RAZOR page instead of JSON format (C#, WebService)显示 RAZOR 页面而不是 JSON 格式(C#、WebService)
【发布时间】:2019-07-30 12:15:12
【问题描述】:

我有一个控制器,它的 Get 方法返回 JSON 数据:

[HttpGet]
public async Task<IActionResult> Get(string name)
{
    var @books = await _booksService.BrowseAsync(name);
    return Json(@books);
}

当我运行 WebService 并进入 books 控制器时,它看起来像:

我想要 RAZOR 页面而不是显示 JSON 数据? 我该怎么做?

【问题讨论】:

  • 您需要返回 View(@books) 并为控制器操作定义匹配的 raxor 视图。
  • 你有匹配 raxor 视图的例子,一些例子吗?
  • 您返回的是 Json 流而不是视图。这就是您的页面显示 JSON 的原因。
  • 看看那里的任何剃须刀教程。 docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/…

标签: c# json web-services razor data-binding


【解决方案1】:

你需要返回 View 而不是 JSON

public ActionResult Index()
{
    return View();
}

【讨论】:

  • 您有任何示例如何将 view1.html 与控制器连接吗?
  • @4est 您可以指定视图名称,如 View("view1", model) 以通过两者
  • 这里是所有可用于查看方法docs.microsoft.com/en-us/dotnet/api/…的重载列表
  • @Mihir => 谢谢,在返回 return View("books",@books) 之后,在 html 中,我需要做更多思考还是只使用我的 json 字段?
  • @4est 这完全取决于您希望如何显示数据。
【解决方案2】:

您返回一个视图(“名称”)。确保在您的视图文件夹中有一个具有相应名称的 .cshtml 页面。你还需要你的控制器类继承自 Controller 类而不是 ControllerBase

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2019-06-03
    • 2012-11-03
    • 1970-01-01
    相关资源
    最近更新 更多