2012-07-18 18 views

回答

1

我假設你的模型的類型是IEnumerable<Employee>,並且你在一個由foreach循環生成的表中顯示它。

那麼你應該能夠做到這一點:

@foreach(var item in Model){ 
    Html.DisplayFor(modelItem => modelItem.Store.Store_name) 
} 
0

你的觀點應該連接到一個視圖模型,這可能是一個枚舉的車型。但爲了保持清潔,視圖模型應該定製到正在使用它的視圖,而不應該是您的Linq to SQL對象。因此,在這種情況下,您的視圖模型將具有StoreName的屬性。我沒有測試過這些,但它應該讓你朝着正確的方向前進。

你的類

public class EmployeeModel { 
    [HiddentInput(DisplayValue=false)] 
    public int EmployeeID { get;set; } 

    [Display("Name = "Store")] 
    public string StoreName { get;set; }  
} 

你的行動

public ViewResult EmployeeDetails(int employeeId) { 
     var model = new List<EmployeeModel>(); 

     foreach(var emp in Employees){ 
      model.Add(new EmployeeModel { 
          EmployeeID = emp.EmployeeID, 
          StoreName = emp.Store.StoreName 
         }); 
     } 



     return View(model); 
    } 

的觀點則非常直截了當。應用程序不需要使用代碼來確定應用商店的名稱,從而使視圖複雜化。

@model IEnumerable<EmployeeModel> 

<h2>Details</h2> 


<table> 
    <thead> 
     <tr> 
      <th>EmployeeID</th> 
      <th>Store Name</th> 
     </tr> 

    </thead> 
    <tbody> 
     @foreach(var emp in Model){ 
     <tr> 
      <td>emp.EmployeeID</td> 
      <td>emp.StoreName</td> 
     </tr> 
     }  
    </tbody> 

</table> 

如果這是員工的編輯頁面,您可以在其中修改商店,那麼您可以使用選擇列表。

相關問題