#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-систему.