我正在构建我的第一个基于ASP.Net MVC的应用程序,并且在我的一个视图中访问linq to sql查询的结果时遇到了问题。
这是我的控制器:
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的示例,但使用循环没有多大意义,因为我只返回一行。
答案 0 :(得分:3)
选择第一个对象,然后将其用作模型。强类型视图(.e.g。,ViewPage< Supplier>)将使访问模型属性变得微不足道。
var dataContext = new BuffetSuppliersDBDataContext();
var supplier = (from m in dataContext.BO_Suppliers
where m.SupplierID == id
select m).FirstOrDefault();
ViewData.Model = supplier;
return View();
将视图页面定义为
public class Details : ViewPage<Supplier>
{
}
并在视图中使用
<label for="SupplierName" class='details-label'>Supplier Name:</label>
<span class='details-data'> <%= ViewData.Model.Name %> </span>