1

次の方法で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が初めてです。どんな助けでもかなりです!前もって感謝します!

4

1 に答える 1

0

API コントローラーには、データの表示方法を処理する cshtml ページを作成するという意味で、実際にはビューがありません。ApiController の目的は、単純に、使用したい形式でデータを返すことです。

基本的に、API は生データを Web に公開し、何らかの方法でそれを消費してから表示します。

これに似たものを使用して、データを 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 を使用しますが、代わりにコントローラーでデータを取得し、ビューに送信して表示します ( ASP MVC4 - リストを渡すビューモデル経由のビュー)。

ランダムな奇数データをビューhttp://goo.gl/03JTRに渡すための ViewBag コンテナーも確認できます。

ビューでデータをレンダリングしたい場合は、これを確認してください: Web API - Razor ビューをデフォルトでレンダリングしますか?

于 2013-05-27T12:25:26.580 に答える