我在发布使用Telerik rad控件的代码时遇到了一些麻烦。
代码在" debug"中工作正常。构建配置...但当我将其更改为"发布"他们停止工作。
如果我然后将调试配置设置更改为true(在运行发布版本配置时),它也可以正常工作。
<compilation debug="true" targetFramework="4.5"/>
我得到的错误是:
Telerik未定义
下面是一些代码设置debug =&#34; false&#34;发布版本。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ajax:ToolkitScriptManager runat="server"></ajax:ToolkitScriptManager>
<telerik:RadTreeView ID="RadTreeView1" runat="server">
<Nodes>
<telerik:RadTreeNode runat="server" Text="Root RadTreeNode1">
<Nodes>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 2"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 3"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 4"></telerik:RadTreeNode>
</Nodes>
</telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Root RadTreeNode2"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Root RadTreeNode3">
<Nodes>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 1"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 2"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Child RadTreeNode 3"></telerik:RadTreeNode>
</Nodes>
</telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Root RadTreeNode4"></telerik:RadTreeNode>
<telerik:RadTreeNode runat="server" Text="Root RadTreeNode5"></telerik:RadTreeNode>
</Nodes>
</telerik:RadTreeView>
</div>
</form>
</body>
</html>
这发生在我们的主系统和多个机器上的单页网站(上图)中。
你们有人可以提出建议吗?
由于
编辑:
脚本引用未添加到html。
代码太大而无法上传,但这里有几张图片......
(debug == true)
(debug == false)
答案 0 :(得分:0)
尝试允许所有用户使用TelerikWebResource.axd,或者查看此telerik resource以查看是否有您的答案。
答案 1 :(得分:0)
尝试脚本CDN http://www.telerik.com/help/aspnet-ajax/scriptmanager-cdn-support.html 以便尽可能避免使用网络资源
另外,请看一下这些部分:
http://www.telerik.com/help/aspnet-ajax/introduction-troubleshooting.html#telerik-is-undefined
http://www.telerik.com/help/aspnet-ajax/introduction-troubleshooting.html#Sys-is-undefined
您还可以查看ScriptManager的LoadScriptsBeforeUI属性是否有所作为。
确保您的web.config包含所有处理程序。这是一个例子:
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="Telerik.ScriptManager.TelerikCdn" value="Disabled" />
<add key="Telerik.StyleSheetManager.TelerikCdn" value="Disabled" />
</appSettings>
<system.web>
<compilation debug="false" targetFramework="4.0" />
<pages>
<controls>
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" />
</controls>
</pages>
<httpHandlers>
<add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" />
<add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />
<add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
<add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
</httpHandlers>
<httpModules>
<!-- Only needed if RadUpload is used in the site -->
<!-- <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" /> -->
<!-- Only needed if RadCompression is used in the site -->
<!-- <add name="RadCompression" type="Telerik.Web.UI.RadCompression" /> -->
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<!-- Only needed if RadUpload is used in the site -->
<!-- <remove name="RadUploadModule" /> -->
<!-- <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" preCondition="integratedMode" /> -->
<!-- Only needed if RadCompression is used in the site -->
<!-- <remove name="RadCompression" /> -->
<!-- <add name="RadCompression" type="Telerik.Web.UI.RadCompression" preCondition="integratedMode" /> -->
</modules>
<handlers>
<remove name="ChartImage_axd" />
<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" />
<remove name="Telerik_Web_UI_SpellCheckHandler_axd" />
<add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" />
<remove name="Telerik_Web_UI_DialogHandler_aspx" />
<add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" />
<remove name="Telerik_RadUploadProgressHandler_ashx" />
<add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" />
<remove name="Telerik_Web_UI_WebResource_axd" />
<add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" />
</handlers>
</system.webServer>
</configuration>
答案 2 :(得分:0)
添加combineScripts =&#34; false&#34;到<ajax:ToolkitScriptManager runat="server"
&gt;标签
根据这篇文章:
http://www.telerik.com/forums/telerik-ui-for-asp-net-ajax-and-ajax-control-toolkit
答案 3 :(得分:0)
最好用asp:ScriptManager或telerik替换ajax:ToolkitScriptManager:RadScriptManager