2009-01-17 36 views
2

我正在構建我的第一個基於ASP.Net MVC的應用程序,並且在我的某個視圖中訪問linq到sql查詢的結果時出現問題。如何在我的視圖中訪問ViewData屬性?

這裏是我的控制器:

public ActionResult Details(int id) 
    { 
     var dataContext = new BuffetSuppliersDBDataContext(); 
     var supplier = from m in dataContext.BO_Suppliers 
         where m.SupplierID == id 
         select m; 

     return View(supplier); 
    } 

我如何可以訪問我的視圖頁面的supplier.SupplierName財產,我已經看到了使用foreach循環和鑄造ViewData.Model到IEnumerable的例子,但沒有太多指向使用循環,因爲我只返回一行。

回答

3

選擇第一個對象,然後將其用作您的模型。強類型視圖(例如,查看頁面<供應商>)將使訪問模型屬性變得微不足道。

var dataContext = new BuffetSuppliersDBDataContext(); 
    var supplier = (from m in dataContext.BO_Suppliers 
        where m.SupplierID == id 
        select m).FirstOrDefault(); 

    ViewData.Model = supplier; 

    return View(); 

隨着使用

<label for="SupplierName" class='details-label'>Supplier Name:</label> 
    <span class='details-data'> <%= ViewData.Model.Name %> </span> 
+0

你可以直接代替Model.Name的ViewData.Model.Name定義爲

public class Details : ViewPage<Supplier> { } 

,並在視圖中的視圖頁面,因爲模型也ViewPage 的財產 – 2012-09-06 16:08:00