【问题标题】:backbone handle index page with a layout带有布局的主干句柄索引页面
【发布时间】:2014-01-15 16:44:45
【问题描述】:

我是骨干新手。一切正常,除非我单击返回第一页。我不知道如何使它正确加载。这是在 .net mvc 应用程序中,因此索引页面会加载布局页面。如果我在主页函数中调用索引页面,则浏览器进入无限循环,加载包含以下代码的布局页面,该页面再次重新加载索引。

        <script>
        var MainRouter = Backbone.Router.extend ({
            routes: {
                '': 'home',
                'Home': 'HHome',
                'About': 'AAbout',
                'Contact': 'CContact'
            },
            home: function () {
                //WHAT TO DO HERE?

            },
            HHome: function () {
                ajaxCall('/Home/Home');
            },
            AAbout: function () {
                ajaxCall('/Home/about');
            },
            CContact: function () {
                ajaxCall('/Home/Contact');
            }
        });

        //define our new instance of router
        var appRouter = new MainRouter();

        Backbone.history.start({ pushState: true });


        $(document).ready(function() {
            $('a').click(function(event) {

                event.preventDefault();

                var url = $(this).attr('href');

                appRouter.navigate(url, { trigger: true });
            });
        });

任何建议都会很棒。 提前谢谢。

【问题讨论】:

  • “索引页面加载布局页面”是什么意思?
  • 在 .net MVC 中,您有一个布局页面,您可以在其中放置将出现在每个页面上的标准内容。 IE 徽标/导航栏/页脚。根据您构建网站的方式,要么只有索引会加载布局(在水疗中心),要么每个页面都会加载。我认为没有一种方法可以在不使用常规 cshtml 页面的情况下加载布局。

标签: layout backbone.js model-view-controller


【解决方案1】:

如果您指的是您的 ajaxCall 返回 MVC 视图,您只需通过在视图顶部放置以下内容来禁用这些视图的布局:

@{
    Layout = null;
}

【讨论】:

  • 我如何首先获得页面上的布局?
  • 默认会添加布局。这会覆盖这一点,因此不会为该特定视图呈现布局。
  • 必须告诉 MVC 调用布局页面。如果每个视图都有 Layout=null,则布局永远不会被调用。不是说没有办法解决这个问题,但我一直找不到 1。
  • 您不会将它用于每个视图,只需将它用于从 Backbone 调用的视图。您仍然需要一个继承布局的索引/主/初始页面,然后运行您在问题中发布的 JS。
  • 这就是我想要弄清楚的。首次加载时,默认路径为空并加载带有布局的索引页面,但是当我通过主干导航离开并单击后退按钮时,该路径为空并且不加载任何内容。如果我在其中放置一个非索引布局,那么它将首先在没有布局的情况下加载,如果我在布局中放置一个,它将进入无限循环。
猜你喜欢
  • 2014-10-30
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多