如何在MVC 5项目中从bootswatch或wrapbootstrap实现主题?


79

我将要创建一个新的ASP.Net MVC5 Web应用程序。我想在应用程序中使用bootswatch或wrapbootstrap中的主题,但是找不到有关如何执行操作的指令集。


2
这可能不是您要找的内容,但这很简单。在您的内容文件夹中,包括.css主题,并在您的App_Start BundleConfig.cs中,替换~/Content/bootstrap.css~/Content/yourtheme.bootstrap.css
Carrie Kendall

谢谢嘉莉。这是一个很好的答案。您如何处理实际的布局页面?只需将示例中的html替换为正文?我想确保没有GitHub或其他自动化程序。如果第二天没有收到进一步的评论,我将标记为已回答。
彼得·卢登

至于布局页面,我认为它是默认模板。它将与其他主题一起使用。简而言之,主题就是引导程序的不同颜色/样式的版本。因此,按钮的颜色可能不同,某些组件的边框半径可能不同,但实际的总体样式或多或少都相同。您可以应用不同的布局,只需将bundles替换为bundles。
卡莉·肯德尔

1
稍后,我将提供写得很好的答案,并提供更多详细信息:]
凯莉·肯德尔

谢谢@嘉莉。您是否也有使用wrapbootstrap中高级主题的经验,原理是否相同?
彼得·卢登

Answers:


185

应用主题的步骤非常简单。要真正了解所有功能如何协同工作,您需要了解ASP.NET MVC 5模板提供的即用型功能以及如何根据需要自定义它。

注意:如果您对MVC 5模板的工作原理有基本的了解,请向下滚动到主题部分。


ASP.NET MVC 5模板:工作原理

本演练介绍了如何创建MVC 5项目以及幕后情况。在此博客中查看MVC 5模板的所有功能。

  1. 创建一个新项目。在“模板”下,选择“ Web” >“ ASP.NET Web应用程序”。输入项目的名称,然后单击确定OK

  2. 在下一个向导中,选择“ MVC”,然后单击“确定” OK。这将应用MVC 5模板。

    选择MVC模板的示例

  3. MVC 5模板创建一个使用Bootstrap提供响应式设计和主题化功能的MVC应用程序。引擎盖下,所述模板包括一自举3. * NuGet包,它安装4个文件:bootstrap.cssbootstrap.min.cssbootstrap.js,和bootstrap.min.js

    已安装的CSS和JS的示例

  4. 通过使用Web优化功能,Bootstrap捆绑在您的应用程序中。检查Views/Shared/_Layout.cshtml并寻找

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

    @Scripts.Render("~/bundles/bootstrap") 
    

    这两个路径指的是在中设置的包App_Start/BundleConfig.cs

    bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
        "~/Scripts/bootstrap.js",
        "~/Scripts/respond.js"));
    
    bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/bootstrap.css",
        "~/Content/site.css"));
    
  5. 这使得无需预先配置即可运行您的应用程序。立即尝试运行您的项目。

    默认应用程序运行


在ASP.NET MVC 5中应用Bootstrap主题

本演练介绍了如何在MVC 5项目中应用引导主题

  1. 首先,下载css您要应用的主题的。在这个例子中,我将使用Bootswatch的断然。将下载的flatly.bootstrap.css和包括flatly.bootstrap.min.cssContent文件夹中(确保也包括在Project中)。
  2. 打开App_Start/BundleConfig.cs并更改以下内容:

    bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/bootstrap.css",
        "~/Content/site.css"));
    

    包括您的新主题:

    bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/flatly.bootstrap.css",
        "~/Content/site.css"));
    
  3. 如果您使用的_Layout.cshtml是MVC 5模板中包含的默认设置,则可以跳到步骤4。如果没有,请至少在布局中包括这两行以及Bootstrap HTML模板

    在您的<head>

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

    关闭前的最后一行</body>

    @Scripts.Render("~/bundles/bootstrap")
    
  4. 立即尝试运行您的项目。您现在应该使用主题查看新创建的应用程序。

    使用平面主题的默认模板


资源资源

查看James Chambers撰写的这本30天真棒演练指南,以获取有关如何将Twitter Bootstrap与ASP.NET MVC 5结合使用的更多信息,教程,技巧和窍门。


3
我不建议您使用CDN,主要是因为您会损失捆绑中内置的许多优化功能(如minification)。话虽如此,您只需在步骤#4中更改视图中的链接即可反映CDN的链接,即@Styles.Render("//maxcdn.bootstrapcdn.com/bootswatch/3.2.0/cerulean/bootstrap.min.css")
Carrie Kendall 2014年

1
我这样做了(但是使用了cyborg主题),当我尝试运行时,出现了“ WebGrease.dll中发生了'System.IndexOutOfRangeException类型的异常'”。错误发生在Styles.Render(“〜/ Content / css”)
HitLikeAHammer 2014年

2
我永远不会使用公共CDN,原因是我无法控制设备或安全措施。无论如何,本次对话并不是本文的主题,因此,如果您想继续进行对话,请考虑与我聊天:)
Carrie Kendall 2014年

1
@SixOThree我不会在屏幕快照中放置太多价值,我只是从一个链接的文章中将它们拉出来,只是为了一个视觉示例。希望能有所帮助:)
凯莉·肯德尔

1
我刚刚找到了解决方案:我的引导版本为3.x时,我正在使用引导v4主题。一旦为正确的版本使用了主题,一切都将顺利进行。@ CarrieKendall,如果您将这一点添加到答案中,我认为这可能对即将来临的读者很有帮助。
41686d6564

17

这可能有点晚了;但有人会发现它很有用。

有一个Nuget软件包,用于将AdminLTE(一种流行的Bootstrap模板)集成到MVC5

只需在Visual Studio包管理器控制台中运行此命令

Install-Package AdminLteMvc

注意:安装可能需要一段时间,因为它会下载所有必需的文件以及创建示例完整视图和部分视图(.cshtml文件),以在开发过程中为您提供指导。_AdminLteLayout.cshtml还提供了一个示例布局文件。

您会在文件~/Views/Shared/夹中找到文件


1
这个AdminLteMvc Nuget非常漂亮!我刚刚在almsaeedstudio.com/preview上查看了预览。它就像...一个管理员网站模板中需要的所有内容:)
Shiva

3

首先,如果您能够找到

bootstrap.css文件

bootstrap.min.js文件

在您的计算机中,那么您所要做的就是

首先从http://bootswatch.com/下载您喜欢的主题

复制下载的bootstrap.cssbootstrap.min.js文件

然后在您的计算机中找到现有文件,并将其替换为新下载的文件。

注意:确保将下载的文件重命名为文件夹中的文件

在此处输入图片说明

那你很好。

有时结果可能不会立即显示。您可能需要在浏览器上运行CSS作为刷新的一种方式



0

您要做的就是从Bootswatch网站上选择并下载bootstrap.css和bootstrap.js文件,然后用它们替换原始文件。

当然,您必须在所有jQuery路径之后将路径添加到布局页面。


0

Bootswatch是一个不错的选择,但是您还可以在这里找到使用MDBootstrap(建立在Bootstrap之上的前端框架)为ASP.NET MVC制作的多种免费模板。

ASP.NET MVC MDB模板

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.