如何通过ID获取数据并查看bag来查看MVC

时间:2019-02-01 12:48:37

标签: asp.net-core .net-core asp.net-core-mvc

我有一个视图命名索引,我想通过GuidId传递数据。在模型和视图包中...输入ID后如何做

public IActionResult Index()
{

    return View();
}

public async Task<IActionResult> GetDS(Guid Id)
{
      var url = string.Empty;           
      url = ApiEndpoint.serviceUrl + ApiEndpoint.GetDS + Id;
      var data = await ApiService.GetAsync<DSModel>(url).ConfigureAwait(false);

      url = ApiEndpoint.serviceUrl + ApiEndpoint.GetDSL + Id;
      var data2 = await ApiService.GetAsyncCollection<DSLDetails>(url).ConfigureAwait(false);
      ViewBag.DSL = data2;
      return View("Index", data);
}
在HTML边显示

html错误

@foreach (var item in @ViewBag.DSL)
{
    <tr>
         <td>
            @item.Name
         </td>
}
  

ERROR NullReferenceException:对象引用未设置为对象的实例。

AspNetCore.Views_Division_Index.ExecuteAsync() in Index.cshtml
+
            @foreach (var item in @ViewBag.DSL)

1 个答案:

答案 0 :(得分:0)

您将收到此异常,因为@ ViewBag.DSL在foreach循环中为null。请确保正在从服务器端将数据存储在Viewbag中。 第二件事尝试此代码:

@if(ViewBag.DSL != null)
{
    foreach (var item in ViewBag.DSL)
    {
        <tr>
             <td>
                @item.Name
             </td>
        </tr>
    }
}