簡體   English   中英

從ASP.NET MVC中的控制器解析JSON數據后,無法在視圖中獲取數據

[英]Cannot get data in a view after parsing json data from controller in asp.net mvc

我想在解析來自控制器的json數據后在viw中顯示數據,並通過linq查詢將其保存在數據庫中,我已經創建了模型,視圖和控制器,但無法在視圖中獲取數據,並且未將其保存在數據庫中,我有一個EmployeeModel類型的列表,如果id與添加的記錄匹配到該列表,然后想將該記錄存儲在數據庫中並發送給視圖。 考慮到foreach不實現ienumerator,我收到錯誤消息。 請幫忙解決這個問題,謝謝……

namespace jsonMvcApplication.Models
{
public class jsonData
{
    public List<rootelem> data { get; set; }
}

public class rootelem
{
    public List<employeeObj> employee { get; set; }
}

public class employeeObj
{
    public List<DataElement> empdetails { get; set; }
}

public class DataElement
{
    public ulong empid { get; set; }
    public string empname { get; set; }
    public string empdept { get; set; }
    public List<empphone> empphone { get; set; }
}

public class empphone
{
    public string home { get; set; }
    public string mobile { get; set; }
}
}

-控制器

public ActionResult Index()
{
    var empid=111;
    WebClient c = new WebClient();
    EmployeeModel empClass;
    var Emplist=new List<EmployeeModel>();

    var jsonstring = @"{""data"":[{""employee"":[{""empdetails"":[{""empid"":""98977"",""empname"":""John"",""empdept"":""HR"",""empphone"":[{""home"":""868685768"",""mobile"":""89886654""}] }] }] }] }";

    empClass = JsonConvert.DeserializeObject<jsonData>(jsonstring);

    foreach (var items in empClass.data[0].employee[0].empdetails)
    {
    if (empid==111) 
       {
        Emplist.Add(empClass);
       }
    }
          return view(Emplist);
}

-查看

@model jsonMvcApplication.Models.DataElement

<table>
@foreach(var empdetails in Model)
{
<tr> <td> @empdetails.empid </td> </tr>
<tr> <td> @empdetails.empname </td> </tr>
}
</table> 

您的模型定義

@model jsonMvcApplication.Models.DataElement

似乎與您在控制器中返回的內容不匹配,對吧? Emplist <> DataElement

請嘗試以下觀點

<script>
var values = @Html.Raw(Json.Encode(Model.Values));
</script>

暫無
暫無

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

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