当debug = false时,Telerik rad控件不起作用

时间:2014-10-16 11:08:26

标签: c# asp.net telerik

我在发布使用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)

enter image description here

(debug == false)

enter image description here

4 个答案:

答案 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

http://www.telerik.com/help/aspnet-ajax/introduction-troubleshooting.html#radscriptmanager-login-page-error

您还可以查看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