繁体   English   中英

如何将图片包含到我的 Razor Page 项目中?

[英]How do I include pictures into my Razor Page project?

我正在制作一个应该充当电影租赁网站的项目。 我需要为我选择的所有电影制作封面。 我 go 如何在我的项目中执行此操作? 如果可以的话,我更喜欢 HTML,因为我对此最满意。 我正在使用 Razor 页 .NET 核心,我的语言是 C#。我还将我需要的所有图像存储到程序中已经存在的文件中,这样就完成了。 这是我的代码:

对于我的模型 class(这仅显示封面照片的 model):

[Display(Name = "Cover Photo")]
    [Column(TypeName = "varchar(128)")]
    public string Cover_Photo { get; set; }

这是 cshtml(我在这里包含了所有内容):

 <p>
    <a asp-page="Create">Create New</a>
</p>
<table class="table">
    <thead>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].Title)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].RatingId)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].Description)
            </th>
        
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].Length)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].GenreId)
            </th>
            <th>
                DVD / BluRay
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].Cover_Photo)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Movie[0].Release_Date)
            </th>
            <th></th>
        </tr>
    </thead>
    <tbody>
@foreach (var item in Model.Movie) {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Rating.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Description)
            </td>
           
            <td>
                @Html.DisplayFor(modelItem => item.Length)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Genre.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Is_Dvd) /  @Html.DisplayFor(modelItem => item.Is_BluRay)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Cover_Photo)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Release_Date)
            </td>
            <td>
                <a asp-page="./Edit" asp-route-id="@item.MovieId">Edit</a> |
                <a asp-page="./Details" asp-route-id="@item.MovieId">Details</a> |
                <a asp-page="./Delete" asp-route-id="@item.MovieId">Delete</a> |
                <a asp-page="../Reviews/Create" asp-route-id="@item.MovieId">Add Review</a>
            </td>
        </tr>
}
    </tbody>
</table>

我还有一个 cshtml.cs 文件,但我不确定它的用途或内容。 谢谢! 所有的帮助都是适用的!

所有信息都在表中,但我似乎无法弄清楚如何显示图片。

那是因为你没有使用<img />元素。 更改如下:

<img src="@item.Cover_Photo" />

确保您在wwwroot/Pictures中有照片:

在此处输入图像描述

还要确保您的Cover_Photo属性存储的值如下所示:

public List<TestModel> Movie { get; set; }

public IActionResult OnGet()
{
    Movie = new List<TestModel>()
    {
        new TestModel(){ Cover_Photo="Pictures/book1.jpg"},
        new TestModel(){ Cover_Photo="Pictures/book2.jpg"}
    };
    return Page();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM