【问题标题】:passing json data of webapi method from controller to view将 web api 方法的 json 数据从控制器传递到视图
【发布时间】:2023-04-07 10:14:01
【问题描述】:

我的 apicontroller 中有以下方式的数据-

public class OutletPOCController : ApiController
{
    OutletPOCContext db = new OutletPOCContext();

    [System.Web.Http.ActionName("GetTabText")]
    public TabTextModel GetTabText(int bizId)
    {
        var outlet = db.Info.Where(t => t.BizId == bizId).SingleOrDefault();
        return new TabTextModel
        {
            HomeTab = outlet.BizHomeTabText,
            AboutTab = outlet.BizAboutTabText,
            TimingsTab = outlet.BizTimingsTabText,
        };
    }

现在我想将这些数据检索到我的视图中。我应该如何为这个控制器创建视图并传递上述数据?我的行动方法是什么?我是 webapi 和 json 的新手。任何帮助都是可观的!提前致谢!

【问题讨论】:

  • 您的意思是要在基本页面加载后使用Javascript从客户端获取数据还是要在视图中获取数据并直接使用它?跨度>
  • 我想将数据显示到我在 webapi 上面得到的视图上
  • 看这里codeproject.com/Articles/344078/… 的教程。
  • 非常感谢.... christiandev 解决了我的问题

标签: json web-services c#-4.0 asp.net-mvc-4 asp.net-web-api


【解决方案1】:

API 控制器确实有视图,因为您创建了一个负责如何显示数据的 cshtml 页面。 ApiController 的目的只是以您想要使用的格式返回数据。

基本上,API 向网络公开原始数据,您以某种方式使用它,然后显示它..

我使用与此类似的方法将数据动态加载到网页中。 只是一个向客户端返回数据的简单 Web api。

public class APIController : ApiController
{
    [HttpGet]  
    [HttpPost]  // allow both post and get requests
    public IEnumerable<String> GetData()
    {
        return new List<string>() { "test1", "test2" };
    }
}

当您浏览到上面的 API 方法时,它会返回此 xml 数据

<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
  <string>test1</string>
  <string>test2</string>
</ArrayOfstring>

我使用 Jquery 并做我想做的事 (http://api.jquery.com/jQuery.get/):

$.get("/api/GetData", function(data) {
  alert("Data Loaded: " + data);
});

使用 JS/Jquery 解析 XML 的示例:

如果您只是想将数据放入常规视图并在那里使用它而不通过 javascript,我不会使用 webapi,而是在控制器中获取数据并将其发送到视图以进行显示 (ASP MVC4 - Pass List to view via view model )。

您还可以查看 ViewBag 容器以将随机奇数数据传递给视图 http://goo.gl/03JTR

如果您确实想在视图中呈现数据,请查看:Web API - Rendering Razor view by default?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多