【问题标题】:Telerik RadControls, controlling where ScriptResource.axd files are generated when EnableEmbeddedScripts is trueTelerik RadControls,控制在 EnableEmbeddedScripts 为 true 时生成 ScriptResource.axd 文件的位置
【发布时间】:2023-03-17 00:09:02
【问题描述】:

在 Telerik RadControls 中,当 EnableEmbeddedScripts 为 true 时,如何控制 ScriptResource.axd 文件的生成位置?

默认情况下,它将它们呈现在我的网络应用程序的根目录中,并且

<add key="Telerik.WebControls.RadControlsDir"
        value="~/Resources/RadControls/"/>

似乎不起作用,EnableEmbeddedScripts 不是假的。

【问题讨论】:

  • “这些文件是在哪里生成的”是什么意思?这些文件是处理程序,而不是实际的物理文件系统文件。

标签: c# asp.net telerik rad-controls


【解决方案1】:

正如ScriptResourceHandler MSDN 页面中所述,ScriptResourceHandler 仅仅是一个“处理嵌入脚本文件的所有请求的类”。

它生成您可以在浏览器开发工具(即:chrome)中看到的输出,但生成的内容本身并不存储在服务器上。相反,用于生成此内容输出的资源在应用程序内编译(这是文件属性中的“构建操作:嵌入式资源”)。

附加说明:处理程序通常由 Web.config 文件中的以下部分定义(尽管 Telerik 可能对其文件使用自定义处理程序,例如主题/javascript):

<httpHandlers>
  <add verb="GET,HEAD" path="ScriptResource.axd" 
    type="System.Web.Handlers.ScriptResourceHandler, 
    System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, 
    PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>

【讨论】:

    【解决方案2】:

    我不知道这个答案是否能帮助你,但我找到了这个信息——很可能你已经知道了,但我还是把它贴在这里,谁知道?

    它表示当您使用 Visual Studio 内置 Web 服务器(大多数开发人员都这样做)而不是 IIS 时,此首选项不起作用。

    "注意:当您使用内置的 VS 2005 Web 服务器时,本文中建议的方法将不起作用。它们仅在您的站点在 IIS 中运行时起作用,因为 VS 2005 内部服务器可以不支持虚拟目录。如果您在本地进行测试(而不是使用 IIS),您的 Web 应用程序中必须有 RadControls 文件夹的副本。"

    注释取自这里,是关于 VS2005 的:

    http://www.telerik.com/support/kb/aspnet-ajax/general/changing-the-location-of-the-radcontrols-or-setting-scripts-folder.aspx


    编辑 1:此外,当控件的 UseEmbeddedScripts 属性设置为 false 时,它​​可以工作,所以这不是你的情况。好吧,我还是希望它有用。


    编辑 2:我找到了另一个链接,可以帮助更好地找到解决方案。正如@cahmadzadeh 所说,这些是 Http 处理程序,它们很可能在 Telerik 之外进行管理:

    http://forums.asp.net/t/1546423.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多