Asp.net mvc 如何在视图中访问ViewData属性?

Asp.net mvc 如何在视图中访问ViewData属性?,asp.net-mvc,Asp.net Mvc,我正在构建我的第一个基于ASP.NETMVC的应用程序,在我的一个视图中访问LINQtoSQL查询的结果时遇到问题 这是我的控制器: public ActionResult Details(int id) { var dataContext = new BuffetSuppliersDBDataContext(); var supplier = from m in dataContext.BO_Suppliers

我正在构建我的第一个基于ASP.NETMVC的应用程序,在我的一个视图中访问LINQtoSQL查询的结果时遇到问题

这是我的控制器:

    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的示例,但使用循环没有多大意义,因为我只返回一行。

选择第一个对象,然后将其用作模型。强类型视图(.例如,ViewPage)将使访问模型属性变得简单

    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>
供应商名称:

您可以直接执行Model.Name而不是ViewData.Model.Name,因为Model也是ViewPage的一个属性