2

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

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

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

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

4

2 回答 2

3

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>
于 2013-10-04T13:59:17.443 回答
2

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

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

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

该注释已从此处获取,它是关于 VS2005 的:

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


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


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

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

于 2013-10-01T10:32:31.093 回答