MVC在一个视图中检索许多数据

本文关键字:视图 检索 多数据 一个 MVC | 更新日期: 2023-09-27 18:13:57

我有asp.net MVC应用程序,可以从数据库检索数据。它看起来像这样:

如果我的url是这样的:

myurl.com/Home/Index/1

我的观点是这样的:[https://scontent-b-fra.xx.fbcdn.net/hphotos-xfp1/t31.0-8/10571949_782177481813619_1929089026797570629_o.jpg][1]

如果url像这样:-

myurl.com/Home/Index/2

视图如下:https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xpa1/t31.0-8/10519689_782177478480286_8967524557745769669_o.jpg

等。

我正在传递和在url这是我的数据库中数据的id:-

public ActionResult Index(int id)
    {
        BIOEntities db = new BIOEntities();
        AddBio bio = new AddBio();
        Biography biography = db.Biographies.Where(x => x.Id == id).FirstOrDefault();
        bio.Id = biography.Id;
        bio.Photo = biography.Photo;
        bio.Name = biography.Name;
        bio.Position = biography.Position;
        return View(bio);
    }

现在我想让它如果我的url将

myurl.com/Home/Index

它必须像这样检索数据:https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-xpa1/t31.0-8/10454247_782178191813548_1334099737795866885_o.jpg

谁能告诉我怎么做呢

[1]: https://%20scontent-b-fra.xx.fbcdn.net/hphotos-xfp1/t31.0-8/10571949_782177481813619_1929089026797570629_o.jpg

和我的视图(Customhelper是图片…):

 @model BioMVC.Models.AddBio
 @using BioMVC.CustomHtmlHelpers
 @{
    ViewBag.Title = "Index";
    Layout = "~/Views/_layout.cshtml";
}
<div id="first">
    <div class="display-field">
        @Html.Image(@Model.Photo, new { @id = "FirstPhoto" })
    </div>
    <legend class="orangeText">@Model.Name</legend>
    <legend class="orangeText">@Model.Position</legend>
    </div>
<div id="second">
    <div class="display-field">
        @Html.Image(@Model.Photo, new { @id = "secondPhoto" })
    </div>
    <legend class="orangeText">@Model.Name</legend>
    <legend class="orangeText">@Model.Position</legend>
</div>
<div id="third">
    <div class="display-field">
        @Html.Image(@Model.Photo, new { @id = "thirdPhoto" })
    </div>
    <legend class="orangeText">@Model.Name</legend>
    <legend class="orangeText">@Model.Position</legend>
</div>
<div id="fourth">
    <div class="display-field">
        @Html.Image(@Model.Photo, new { @id = "fourthPhoto" })
    </div>
    <legend class="orangeText">@Model.Name</legend>
    <legend class="orangeText">@Model.Position</legend>
</div>

MVC在一个视图中检索许多数据

george,

没有看到您当前的视图代码,我假设它是沿着行:

@model yournamespace.models.AddBio
因此,

将只显示当前索引操作方法中的单个实例。您需要做的是将该模型创建为List<AddBio>,如下所示:

@model List<yournamespace.models.AddBio>
然后,您可以遍历列表以像之前一样填充。您还需要更改索引方法,以引用List<>,而不是单个实体(提示:删除第三行上的.FirstOrDefault()是您的起点—其余的都是常识,传递List<>而不是单个实例)。

希望对你有帮助。

[edit] -根据stephen muecke的回应,您还应该测试可空的id -好点!!