【问题标题】:Asp.Net Server.Transfer problem with Toolkit ScriptManager工具包 ScriptManager 的 Asp.Net Server.Transfer 问题
【发布时间】:2011-06-02 19:18:09
【问题描述】:

我正在开发一个在母版页中有 toolkitscriptmanager 的网站。我的问题在于导航到执行 server.transfer 的页面时。我实际上也在使用 url 重定向,但据我所知,这与问题没有任何关系。

如果我将代码更改为 Response.Redirect,页面重定向正常,但这不是我正在寻找的功能,我需要保留 SEO 友好的网址。

例如 - 比如说在 Page1.aspx 的代码中有一个 Server.Transfer 到 Page2.aspx。我已经诊断出,脚本管理器将脚本引用添加到您正在浏览的页面。所以,如果我直接导​​航到 Page2.aspx,添加的脚本是

<script src="/Page2.aspx?_TSM_HiddenField_=ctl00_ctl00_ToolkitScriptManager1_HiddenField... etc

但是,对于 Server.Transfer,它正在尝试查找

<script src="/Page1.aspx?_TSM_HiddenField_=ctl00_ctl00_ToolkitScriptManager1_HiddenField... etc

如何告诉 ScriptManager 使用脚本文件的最终目的地?我一直在研究尝试在 TSM 中使用一些魔法设置,但到目前为止没有运气。

【问题讨论】:

    标签: asp.net ajaxcontroltoolkit scriptmanager server.transfer


    【解决方案1】:

    经过一些挖掘和测试,我能够让它工作。我不得不将头部定义的脚本移动到 TSM 中,并使用 CompositeScripts:

    <act:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="false">
                <CompositeScript>
                    <Scripts>
                        <asp:ScriptReference Path="/js/jquery.1.4.2.min.js" />
                        <asp:ScriptReference Path="/js/jquery-ui.1.8.5.min.js" />
                        <asp:ScriptReference Path="/js/jlEmbed.js" />
                    </Scripts>
                </CompositeScript>
            </act:ToolkitScriptManager>
    

    我发现 stringe 是如果我设置 CombineScripts=true,TSM 会将所有 js 文件编译成它自己的内部脚本 - 然后仍然放置引用它所在页面的脚本。通过将 CombineScripts=false 设置为 false,它仍然会编译 js 文件,单独执行它们,并且还会为页面脚本引用执行此操作。

    【讨论】:

      猜你喜欢
      • 2010-11-16
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      相关资源
      最近更新 更多