查看渲染问题

Posted

技术标签:

【中文标题】查看渲染问题【英文标题】:View rendering problem 【发布时间】:2010-09-03 13:35:00 【问题描述】:

在我的应用程序中,我有两个母版页,它们用于各种不同的情况。假设一个主视图只呈现页面的上半部分,另一个主视图呈现上半部分加上一个导航栏。我们使用视图模型将数据传递给这些母版页

现在在我的控制器中,我的索引操作是指带有导航栏的 MasterPage 和不需要导航栏的详细信息选项卡。但是现在每当我尝试呈现详细信息页面时,我的网站都会在 Site.MasterWithNavigation 崩溃,尽管它与我的详细信息视图无关。我不知道它是如何降落在那里的。

在附加调试器并检查 pae 崩溃的位置时,它向我显示它在 Site.MasterWithNavigation 崩溃,在检查调用堆栈时,只有一个条目将我带到我的另一个 Site.Master 并显示异常随机局部视图渲染线。我想只是为了让我注释掉那段代码,然后再次看到崩溃发生在我呈现 html 输入元素的另一行。

知道为什么我会看到这个吗?请注意,我们还有其他页面使用第二个母版页,但由于某种原因,它们都位于名为 WhateeverDetailsController 的不同控制器中。当我们在同一个控制器内的两个不同操作中使用两个不同的母版页时,您是否认为存在问题。

【问题讨论】:

【参考方案1】:

我不确定您为什么要同时使用多个母版页,但我只使用一个母版页,并将相关标签暴露给所有页面,例如:

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Title
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ScriptContentHolder" runat="server">
    <%= Html.Script("jquery-1.4.4.min.js")%>
    <%= Html.Script("jquery-ui-1.8.7.min.js")%>
    <%= Html.Script("MicrosoftAjax.js")%>
    <%= Html.Script("MicrosoftMvcAjax.js")%>
    <%= Html.Script("MicrosoftMvcValidation.js")%>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MenuContent" runat="server">
    <% Html.RenderPartial("IManagerLinks"); %>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="MainContent" runat="server">
    <div id="leftContent50">
        <h4>add a new comment</h4>
        <% Html.RenderPartial("AddCommentUC", Model.AddComment); %>
    </div>
    <div id="rightContent50">
        something else here
    </div>
    <br style="clear: both;" />
</asp:Content>

您可以非常轻松地对页面的顶部、侧面部分和标题执行相同的操作,并使用 css 设置所有内容的样式。

【讨论】:

以上是关于查看渲染问题的主要内容,如果未能解决你的问题,请参考以下文章

用于可滚动窗格的纯 Java HTML 查看器/渲染器 [关闭]

Autodesk Forge 查看器仅渲染 PDF 文件的单页

渲染警告:Autodesk forge 查看器中没有绑定到单元 1 的纹理

如何从控制器渲染两种类型的数据以在 node.js 中查看?

无法从控制器渲染 php 变量以在 yii2 中查看

贴花未显示在 Autodesk 查看器中