AnswerBun.com

Как добавить css файл к html странице в ASP.Net проекте?

Stack Overflow на русском Asked on August 7, 2020

Изучаю книгу по ASP.Net MVC 4. Проект создаваемый средой VS в книге немного отличается от моего так как устарел. По книжной инструкции я должен добавить таблицу стилей добавив строку:

<link rel="stylesheet" type="text/css" href="~/Content/Site.css" />

Но перепробовав все известные мне варианты таблица остается невидимой.

@model WebApplication1.Models.FirstModel
@{
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>RsvpForm</title>

    <link rel="stylesheet" type="text/css" href="~/Content/Site.css" />
    <link rel="stylesheet" type="text/css" [email protected]("~/Content/Site.css") />
    <link rel="stylesheet" type="text/css" [email protected]("~/Content/Site.css") />
</head>
<body>
    @using (Html.BeginForm())
    {
        @Html.ValidationSummary()

        <p>Your name: @Html.TextBoxFor(x => x.Name) </p>
        <p>Your email: @Html.TextBoxFor(x => x.Email)</p>
        <p>Your phone: @Html.TextBoxFor(x => x.Phone)</p>
        <p>
            Will you attend?
            @Html.DropDownListFor(x => x.WillAttend, new[] {
            new SelectListItem() {Text = "Yes, I'll be there", Value = bool.TrueString},
            new SelectListItem() {Text = "No, I can't come", Value = bool.FalseString}
            }, "Choose an option")
        </p>
        <input type="submit" value="Submit RSVP" />
    }
</body>
</html>

Так выглядит обозреватель:

введите сюда описание изображения

Так выглядит окно браузера:

введите сюда описание изображения

2 Answers

По умолчанию статические файлы хранятся в папке wwwroot.

Если вы хотите указать свою папку, вы должны переопределить путь в файле Program.cs Для этого вам необходимо добавить .UseWebRoot("Content").

Выглядит примерно так:

public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()          
            .UseWebRoot("Content")   
            .Build();
}

После этого вы можетк обращаться к статическим файлам, только теперь они будут браться из папки Content, а не из wwwroot.

Answered by Дмитрий on August 7, 2020

В файле Startup.cs нужно подключить статику:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseStaticFiles();
}

А, требуется ASP.NET MVC 4, не сразу заметил. Но скорее всего там так же.

Answered by Make Makeluv on August 7, 2020

Add your own answers!

Related Questions

Как сделать что бы php воспринимал

0  Asked on January 24, 2021 by kotak

     

PopupMenu по нажатию на кнопку

0  Asked on January 23, 2021 by karpuha

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP