gpt4 book ai didi

css - ASP.NET Web 表单动态更改 Bootstrap 主题

转载 作者:行者123 更新时间:2023-11-28 06:54:55 26 4
gpt4 key购买 nike

我的主要问题是我想用一个主题下拉列表和一个按钮来更改我网站的 Bootstrap 主题。

@model IEnumerable<ProjectManagementTool.ServiceReference1.Theme>
@{
ViewBag.Title = "Settings";
Layout = "~/Views/Shared/_Layout.cshtml";
}

<form action="/Home/Settings" method="get">

<h2>Settings</h2>
<br />

<h4>Change Theme</h4>
@Html.DropDownList("GetThemes", null, htmlAttributes: new { @class = "form-control" })
<br />
<p>
<input class="btn btn-default" type="submit" value="Save"/>
</p>

@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Path)
<br/>
}


</form>

foreach 循环只是为了显示不同的路径。

我有一个数据库以及一个主题表: enter image description here

现在的问题是,如何更改 Bootstrap ?

我知道有这段代码可以改变主题。

@Styles.Render("~/Content/flatly.bootstrap.css")

但它应该在_layout.cshtml 文件中为整个网站设置它。

后台正在使用服务,但这在这里并不重要。

网站截图: enter image description here

最佳答案

您可以编写一个操作,根据用户设置返回要使用的 css 文件的路径。

类似的东西

@Styles.Render(Html.Action("UserCssPath", "Settings").ToString());

因为您无权访问布局页面中的 ViewModel, Controller 必须使用另一种机制来找出为哪个用户调用了操作。例如,我们在 HttpContext.Current.Session 中存储一个包含所需数据的 User Context 对象。这可以在登录时写入一次。然后 UserCssPath 操作可以访问数据库以找到正确的 CSS 路径并返回它:return Content(cssPath);

关于css - ASP.NET Web 表单动态更改 Bootstrap 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33562487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com