我的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的新手。任何帮助都很明显!提前谢谢!
答案 0 :(得分:0)
API控制器实际上具有视图,因为您创建了一个cshtml页面来处理您显示数据的方式。 ApiController的目的只是以您想要使用它的格式返回数据。
基本上,API会将原始数据暴露给Web,您以某种方式使用它,然后显示它。
我使用与此类似的东西将数据动态加载到网页中。 只是一个简单的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,而是获取控制器中的数据并将其发送到视图以进行显示({{3 }})。
您还可以查看ViewBag容器,以便将随机奇数数据传递到视图ASP MVC4 - Pass List to view via view model
如果您真的想在视图中呈现数据,请查看以下内容:http://goo.gl/03JTR