Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示记录列表中的单个记录_C#_Razor_Foreach_Asp.net Mvc 5_Model - Fatal编程技术网

C# 如何显示记录列表中的单个记录

C# 如何显示记录列表中的单个记录,c#,razor,foreach,asp.net-mvc-5,model,C#,Razor,Foreach,Asp.net Mvc 5,Model,这是我的模型课。是,我的模型类具有集合属性 我只想在用户登录时迭代循环一次,并且只显示该loggedin用户的 大宗报价 Index()操作通常用于显示集合。您有一个指向Details()操作的链接,通常在该操作中显示一条记录。因此,您应该有一个详细的操作: public ActionResult Details(int bookingId) { var booking = db.Bookings .Include(u => u.UserAccount)

这是我的模型课。是,我的模型类具有集合属性

  • 我只想在用户登录时迭代循环一次,并且只显示该loggedin用户的
  • 大宗报价

    Index()操作通常用于显示集合。您有一个指向Details()操作的链接,通常在该操作中显示一条记录。因此,您应该有一个详细的操作:

    public ActionResult Details(int bookingId)
    {
        var booking = db.Bookings
            .Include(u => u.UserAccount)
            .Include(t => t.Taxi)
            .Include(s => s.BookingStatus)
            .Single(b => b.BookingId = bookingId);
        return View(booking);
    }
    
    然后,您将创建类似以下内容的详细信息视图:

    @model Booking
    @{
        ViewBag.Title = "Booking Details";
    }
    <h2>Booking Details</h2>
         <div>
            <dt>Status</dt>
            <dd>
               @Html.DisplayFor(model=> model.BookingStatus.Status)
            </dd>
            <dt>Taxi Name</dt>
            <dd>
                @Html.DisplayFor(model=> model.Taxi.TaxiName)
            </dd>
    
            [repeat for other fields]
    
            </dl>
        </div>
    }
    
    @模型预订
    @{
    ViewBag.Title=“预订详情”;
    }
    预订详情
    地位
    @DisplayFor(model=>model.BookingStatus.Status)
    出租车名称
    @DisplayFor(model=>model.Taxi.TaxiName)
    [对其他字段重复此操作]
    }
    
    您应该重新构造问题以显示数据源。。。我闻到downvoteOK,我假设用户有多个预订记录,因此您需要
    foreach
    而不是显示单个记录的详细信息操作。我还假设您可以通过会话、标识等访问登录的用户,因此只需添加where子句:
    var bookings=db.bookings.Include(u=>u.UserAccount).Include(t=>t.Taxi).Include(s=>s.BookingStatus).where(u=>u.UserId==selectedUserId)
    @SteveGreene先生,它现在仍然不起作用,这给了我一个异常“Include path表达式必须引用在类型上定义的导航属性。使用虚线路径引用导航属性,使用Select运算符引用集合导航属性”,这意味着其中一个项是集合,您需要选择。在问题中展示你的模型。而且,你的观点似乎没有道理。您希望显示单个记录还是多个记录的表?您的
    if
    语句检查集合的第一条记录,然后继续迭代整个集合。@SteveGreene是的,我的模型类具有集合属性,我只想显示列表中loggedin user的记录
    public ActionResult Index()
    {
        var bookings = db.Bookings.Include(u => u.UserAccount).Include(t => 
    t.Taxi).Include(s => s.BookingStatus);
        return View(db.Bookings.ToList());
    
    public ActionResult Details(int bookingId)
    {
        var booking = db.Bookings
            .Include(u => u.UserAccount)
            .Include(t => t.Taxi)
            .Include(s => s.BookingStatus)
            .Single(b => b.BookingId = bookingId);
        return View(booking);
    }
    
    @model Booking
    @{
        ViewBag.Title = "Booking Details";
    }
    <h2>Booking Details</h2>
         <div>
            <dt>Status</dt>
            <dd>
               @Html.DisplayFor(model=> model.BookingStatus.Status)
            </dd>
            <dt>Taxi Name</dt>
            <dd>
                @Html.DisplayFor(model=> model.Taxi.TaxiName)
            </dd>
    
            [repeat for other fields]
    
            </dl>
        </div>
    }