Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于动态布局的C#(MVC)和引导_C#_Bootstrap 4_Markup - Fatal编程技术网

用于动态布局的C#(MVC)和引导

用于动态布局的C#(MVC)和引导,c#,bootstrap-4,markup,C#,Bootstrap 4,Markup,我使用C#(MVC)生成网站。我们使用引导来定位元素 如果我想让页面有一个垂直或水平显示菜单的切换,我最好的设计方法是什么 如果我没有使用Bootstrap或C#,我可能会生成一个包含要显示的数据的XML文件。XML将被标记为,而不考虑它将如何显示 例如,它可能看起来像这样: <page> <footer>This most likely will render at bottom of page</footer> <menu>

我使用C#(MVC)生成网站。我们使用引导来定位元素

如果我想让页面有一个垂直或水平显示菜单的切换,我最好的设计方法是什么

如果我没有使用Bootstrap或C#,我可能会生成一个包含要显示的数据的XML文件。XML将被标记为,而不考虑它将如何显示

例如,它可能看起来像这样:

<page>
    <footer>This most likely will render at bottom of page</footer>
    <menu>
        <ol>
            <li><a href="/">Home</a></li>
            <li><a href="/Foo">Foo</a></li>
            <li><a href="/Bar">Bar</a></li>
        </ol>
    </menu>
    <content>Some page content here</content>
    <header>This most likely will render at top of page</header>
</page>

这很可能会在页面底部呈现
  • 这里有一些页面内容 这很可能会呈现在页面顶部
    …然后可能会使用XSLT(以及CSS)来转换该页面,以便根据所选主题/布局直观地定位元素(顶部、侧面、底部、任何位置的菜单)

    在使用C#和razor文件时,是否有一种标准方法允许使用引导进行动态布局?razor文件中呈现不同行/列布局的@IF语句是我的最佳/唯一选择吗

    也许有一个标准的标记,以便您可以轻松地在不同的主题和不同的布局之间切换?虽然我没有看到这方面的文件,如果是这样的话


    我花了一个小时在谷歌上搜索,但运气不太好。

    我建议您查看提供此类功能的网站(一些$$some免费)。去年我在一个项目中使用了一个,如果一个HTML/CSS/js专家从头开始创建所有包含的功能,需要6个月的时间(花费不到50美元)。

    检查Jquery菜单。您可以使用css将垂直切换为水平。请参阅本帖-

    如果您想专门使用引导,请检查引导导航栏。我相信你也可以使用CSS在这里切换


    在我看来,为了改变布局,我们应该始终使用css。优点是,如果布局/视口发生变化,页面将不会重新加载,并且我们不需要维护单独的代码库。这就是为什么我们使用响应式Web设计,它利用css根据设备的大小(4K、桌面、平板电脑、移动设备等)更新外观和感觉。

    我想我最终要做的是为每种布局创建一个共享视图:

    • ~/Views/Shared/\u Layout.cshtml
    • ~/Views/Shared/\u leftMenuLayout.cshtml
    。。。然后我将创建文件“Views/_ViewStart”,并在此文件中根据所需的布局设置我想要使用的默认共享布局。即:

    Layout = "~/Views/Shared/_leftMenuLayout.cshtml";
    

    但问题是引导与布局紧密耦合。它指示行/列布局。我的意思是,你可以重新编写所有的引导CSS类来改变它们的行为,但是如果你要达到这个长度,那么首先可能不值得使用引导。是的。它将取决于特定的用例。另一种选择是创建小型独立组件,并根据布局要求放置这些组件。