Загрузка не работает должным образом в проекте MVC

#c# #asp.net #asp.net-mvc #bootstrap-4

#c# #asp.net #asp.net-mvc #bootstrap-4

Вопрос:

В настоящее время я использую bootstrap 4.5.2 в своем проекте MVC. У меня есть частичное представление, которое должно отображать два столбца (col-xs-6). Однако, похоже, это не работает. Вот что у меня есть:

BundleConfig.cs

  public static void RegisterBundles(BundleCollection bundles)
        {
            RegisterJqueryUnobtrusiveAjaxBundle(bundles); //Kentico's scripts

            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                "~/Scripts/jquery-{version}.js",
                "~/Scripts/jquery.maskedinput.min.js",
                "~/Scripts/App/SelectableRows.js"
                ));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                "~/Scripts/jquery.validate*"));

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at https://modernizr.com to pick only the tests you need.
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                "~/Scripts/modernizr-*"));

            bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                "~/Scripts/bootstrap.js"));

            bundles.Add(new StyleBundle("~/Content/css").Include(
                "~/Content/bootstrap.css",
                "~/Content/Site.css",
                "~/Content/themes/GWICTheme/GWIC.css"
                ));
}
  

AccountLogin.cshtml

 @model AE.Web.Gwic.Models.AccountLoginModel
@using Kentico.PageBuilder.Web.Mvc
@using Kentico.Web.Mvc

@{
    ViewBag.Title = "AccountLoginLanding";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

@section styles
{
    @* Includes stylesheets necessary for page builder functionality *@
    @Html.Kentico().PageBuilderStyles()
}

@section scripts
{
    @* Includes scripts necessary for page builder functionality *@
    @Html.Kentico().PageBuilderScripts()
}

<div class="gwic-landing-page">
    <div class="gwic-landing-navigation row">
        <div class="GWICappIcon">
            <div>
                <img src="~/images/gwic_diamond_logo_blue.png" alt="Application" title="Application" height="50" width="50" />
            </div>
            <h1>myNavigator</h1>
        </div>
    </div>
    <div class="gwic-landing-body">
        <div class="gwic-landing-top-section">
            <div class="col-xs-6">
                <div class="section button-grid">
                    @Html.Kentico().EditableArea("gwic-landing-left-column")
                    @*@Html.Kentico().WidgetZone()*@
                    <section class="section section--padded">
                        <div class="section-inner">
                            @Html.Kentico().WidgetZone()
                        </div>
                    </section>
                </div>
            </div>
            <div class="col-xs-6">
                @Html.Kentico().EditableArea("gwic-landing-right-column")
                @Html.Kentico().WidgetZone()
                helpful tools and links area
            </div>
        </div>
    </div>
</div>

<div class="logout-button">
    @Html.ActionLink("Logout", "Logout", "Account", null, new { @class = "btn btn-primary" })
</div>
  

_Layout.cshtml

 @using AE.Web.Gwic.Views
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>@ViewBag.Title</title>

    @Styles.Render("~/bundles/sass")
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
    @Scripts.Render("~/bundles/bootstrap")
    @Scripts.Render("~/bundles/jquery-unobtrusive-ajax")

    @RenderSection("styles", required: false)
</head>
<body>
    <div class="mainDiv">
        @RenderBody()
        <hr />
        <footer>
            <p>amp;copy; @DateTime.Now.Year - Great Western Insurance. All Rights Reserved.</p>
            <span class="text-muted" style="font-size:x-small">@Html.AppVersion()</span>
        </footer>
    </div>

    @RenderSection("scripts", required: false)
</body>
</html>
  

В AccountLogin.cshtml col-xs-6 не работает. он показывает две строки друг под другом. В настоящее время это выглядит так: Проблема с начальной загрузкой

Что-то неправильно настроено или я что-то упускаю? Как бы я мог расположить столбцы рядом друг с другом?

Ответ №1:

Мне кажется, что этот div:

 <div class="gwic-landing-top-section">
  

Должно быть помечено как строка:

 <div class="gwic-landing-top-section row">
  

Кроме того, для Bootstrap 4.x нет col-xs-* . Вместо этого вы должны использовать col-6 . итак:

 <div class="gwic-landing-top-section row">
    <div class="col-6">
        <div class="section button-grid">
            @Html.Kentico().EditableArea("gwic-landing-left-column")
            @*@Html.Kentico().WidgetZone()*@
            <section class="section section--padded">
                <div class="section-inner">
                    @Html.Kentico().WidgetZone()
                </div>
            </section>
        </div>
    </div>
    <div class="col-6">
        @Html.Kentico().EditableArea("gwic-landing-right-column")
        @Html.Kentico().WidgetZone()
        helpful tools and links area
    </div>
</div>
  

Это должно заставить ваши столбцы работать должным образом.

Комментарии:

1. Я попробовал это, и, похоже, это сработало; однако они были помещены слева от страницы. Я перешел с col-xs-6 на col-6 , и это снова сделало их друг под другом.

2. @HussamAhmed Да. col-xs-6 больше не существует. Не забудьте принять ответ, если он вам помог. 🙂

3. @HussamAhmed Я думаю, вам следует еще раз прочитать документацию , чтобы лучше понять систему grid, в частности, необходимость в row контейнере и разницу между col- классами

4. @JuanR Да, я пробовал, col-6 и они все еще не работают бок о бок. Вот новый код: « <div class=»row»> <div class=»col-6″> Данные 1 </div> <div class=»col-6″> Данные 2 </div> </div> «

5. @HussamAhmed: Другое дело, что ваш row div должен находиться внутри container div. Как предложил maccettura, пожалуйста, прочитайте документацию и поймите, как использовать grid-систему.