簡體   English   中英

ASP.NET MVC將動態Json數據傳遞到模型中以在部分視圖中返回

[英]ASP.NET MVC Pass Dynamic Json Data into Model to return in Partial View

我正在研究ASP.NET MVC項目,並且有一個控制器,可以從外部Web API獲取JSON數據。 現在,我想反序列化此JSON數據並將其放入一個模型中,該模型最終將傳遞到Partial View中。

JSON數據:

{
"results":[
{
    "name":"Company A",
    "providerName":"Company Provider A"
...(More Data Below)

控制器:

[HttpGet]
[Route("company-info/companyinfogetapidata")]
[AllowAnonymous]
public ActionResult CompanyInfoGetApiData(string name, int CompanyCode, string city, string state, int zip)
    {

        /* Json Data is fetched properly */

        var json = request.Result.Content.ReadAsStringAsync().Result; 

        JObject o = JObject.Parse(json);

        JToken ApiData = o["results"];

       // Now I want to pass the JSON data into my model

        CompanyResultsModel getfetcheddata = new CompanyResultsModel();

       // I tried using this method below but it's not working properly

        getfetcheddata = Newtonsoft.Json.JsonConvert.DeserializeObject<CompanyResultsModel>(json);

       // Pass the Model containing into the PartialView Result
        return PartialView(@"~/Views/Shared/companies/_companyResults.cshtml", getfetcheddata);

    }

模型:

public class CompanyResultsModel
{
    public string companyName { get; set; }
    public string companyProvider { get; set; }
}

視圖:

@model Companies.CompanyResultsModel

<p>@Model.companyName</p>
<p>@Model.companyProvider</p>

將JSON數據傳遞到模型后,如果我在上面使用此方法在視圖中顯示數據,它將正確返回我的所有數據嗎?

任何幫助是極大的贊賞!

您收到的json與您的CompanyResultsModel不匹配。 它確實與包含名稱為results的屬性的模型匹配,該屬性是CompanyResultsModel的集合。

創建以下模型

public class JsonResultModel
{
    public IEnumerable<CompanyResultsModel> Results { get; set; }
}

並在控制器中

JsonResultModel model = JsonConvert.DeserializeObject<JsonResultModel>(json);

並且如果您只想將第一個CompanyResultsModel返回到視圖

return PartialView("_companyResults", model.Results.FirstOrDefault());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM