2015-01-14 117 views
0

我有一個索引操作方法,如下所示。我將提供程序列表傳遞給視圖。從控制器傳遞一個列表在ASP.NET MVC 4

 public ActionResult Index() 
    { 
     Provider providerList = new Provider(); 
     List<Provider> providers = DAL.GetListofProviders.ToList(); 
     return View(providers); 
    } 

在視圖中,我有以下代碼來接收提供程序列表。

 @model IEnumerable<DEMO_JAN14.Models.Provider> 

@{ 
Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<head> 
<title>LIST OF PROVIDERS</title> 
</head> 
<body> 
    <table class="table table-striped table-bordered table-hover"> 
     <tr>  
     <th>Provider Type</th> 
     <th>First Name</th> 
     <th>Last Name</th> 
     <th>Certification</th> 
     <th>Specialization</th> 
     <th>SSN</th> 
     <th>Facility Name</th> 
     <th>Contact No</th> 
     <th>Contact Email</th> 
     <th></th> 
     </tr> 

<tbody data-bind="foreach: viewmodel"> 
    <tr> 
     <td class="col-lg-2" data-bind="text: ProviderType"></td> 
     <td class="col-lg-1" data-bind="text: FirstName"></td> 
     <td class="col-lg-1" data-bind="text: LastName"></td> 
     <td class="col-lg-1" data-bind="text: Certification"></> 
     <td class="col-lg-1" data-bind="text: Specialization"></td> 
     <td class="col-lg-1" data-bind="text: SSN"></td> 
     <td class="col-lg-4" data-bind="text: FacilityName"></td> 
     <td class="col-lg-4" data-bind="text: ContactNumber"></td> 
     <td class="col-lg-1" data-bind="text: ContactEmail"></td> 
     <td><a class="btn btn-danger" id="del" onclick = "return confirm('Are you sure, you want to delete');" data-bind="attr: { href: '/Provider/Delete/' + ProviderID }"> Delete </a> 
     </td> 
    </tr> 
</tbody>   

我看到提供者列表在控制器

enter image description here

但是我沒有看到在視圖中相同的列表如圖

enter image description here

我做錯了什麼。請引導我在正確的方向。謝謝。

+0

嘗試'IList providers = DAL.GetListofProviders.ToList();' – soumer

+0

嘿,謝謝但是,我仍然沒有看到View中提供者的列表。 –

+0

在視圖文件中使用@model List 。 – Mukund

回答

0

要檢查供應商名單的計數內部視圖使用下面的屬性

@Model

0

在你看來,你可以重複這樣的項目,例如正在顯示在列表中的每個ProviderFirstName

@foreach(var item in Model) 
{ 
<h1>@item.FirstName </h1> 
} 

使用您的HTML:

<tbody data-bind="foreach: viewmodel"> 
@foreach(var item in Model) 
{ 
    <tr> 
     <td class="col-lg-2">@item.ProviderType</td> 
     <td class="col-lg-1">@item.FirstName</td> 
     ........................................ 
     ........................................ 
     // and so on other properties 
     <td><a class="btn btn-danger" id="del" onclick = "return confirm('Are you sure, you want to delete');" href="@Url.Action("Delete","Provider")+ item.ProviderID }"> Delete </a> 
</td> 
</tr> 

+0

徘徊時我沒有得到提供者列表。你可以指導我哪裏可能會出錯? –

+0

@AbhishekKS你需要在'@ Model'上迭代你可以通過下面的方法來檢查:''

@ Model.Count()

''查看它在頁面上輸出的內容嗎? –

+0

嘿,Model.Count正確顯示.Bur如何使用敲除來綁定每個提供者數據。 –

0

可以遍歷像這樣(用你的代碼)

@model IEnumerable<DEMO_JAN14.Models.Provider> 

@{ 
Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<head> 
<title>LIST OF PROVIDERS</title> 
</head> 
<body> 
    <table class="table table-striped table-bordered table-hover"> 
     <tr>  
     <th>@Html.DisplayNameFor(m => m.ProviderType)</th> 
     <th>@Html.DisplayNameFor(m => m.FirstName)</th> 
     ... 
     </tr> 

@foreach (var item in Model) 
    <tr> 
     <td class="col-lg-2">@Html.DisplayFor(modelItem => item.ProviderType)</td> 
     <td class="col-lg-1">@Html.DisplayFor(modelItem => item.FirstName)</td> 
     ... 
    </tr> 
</table> 
</body> 
+0

謝謝你的回覆。我可以做到這一點,但我必須使用淘汰賽進行綁定。請你引導我。 –

+0

沒有抱歉,我從來沒有使用過淘汰賽。我唯一不明白的就是爲什麼你要輸入:''tbody data-bind =「foreach:viewmodel」>'而不是'' – soumer

+0

好的..謝謝。我不認爲我們可以直接綁定它.Knockout需要我相信的視圖模型。 –

相關問題