【问题标题】:Is changing the Master Page behavior "mode" from Content Page a bad idea?从内容页面更改母版页行为“模式”是个坏主意吗?
【发布时间】:2009-11-14 01:21:27
【问题描述】:

我有一个母版页,它有两种不同的“行为模式”:“严格的输入限制”和“宽松的输入限制”。这两种模式含义的代码完全包含在母版页中,母版页的 95% 功能不受此设置的影响。

内容页面 A 将始终使用“严格输入限制”模式,而内容页面 B 将始终使用“宽松输入限制”模式。

我一直在从内容页面设置母版页的属性来选择模式,但这感觉很笨拙。有没有更好的方法来处理这种情况?

我认为这是一个设计时的决定,但似乎我正在以运行时的方式处理它。

【问题讨论】:

    标签: asp.net master-pages


    【解决方案1】:

    我也是这样处理的。不幸的是,母版页一开始有点杂乱无章。他们并没有真正遵循真正的继承规则,所以不要试图将这种想法强加给他们。

    【讨论】:

      【解决方案2】:

      从母版页的角度来看,这是一个运行时决定,因为根据运行时加载的页面,母版页的功能会发生变化。您可以通过创建两个单独的母版页来强制它成为设计时决策,但这会导致您的标记和代码重复,尽管大量使用用户控件可以缓解这种情况。

      不过,我有时会在需要时实现类似的功能。这很简单,而且很有效。

      【讨论】:

        【解决方案3】:

        您不能在页面级别对此进行编码吗?或者更好的是,在中间引入一个基本页面? “严格的输入限制”到底是什么意思?

        【讨论】:

        • 这只是我作为示例编造的一些随意的东西,但基本上有些页面对日期范围有限制,而另一些则没有。更复杂的是,我还有一个共享的基本页面。
        • 正如 Sonny 所说,母版页是一个杂物——它们甚至不是页面,它们是用户控件。我总是尝试将我的通用代码从母版页中分离出来,并放入一个基本页面或一个单独的控件中——然后引用它。我只是创建一个小型测试项目,然后按照这些思路首先工作:-)
        • 好主意,我想我会试试的。
        猜你喜欢
        • 2021-11-29
        • 2014-02-23
        • 2013-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多