使用jquery ui时,Telerik tabstrib不起作用

时间:2010-10-05 07:50:12

标签: c# .net asp.net jquery-ui telerik

我的site.master页面中有以下代码:

<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>

    <link rel="shortcut icon" href="../../favicon.ico" type="image/x-icon" />

    <%--<script src="../../Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>--%>
    <script src="../../Scripts/ckeditor/ckeditor.js" type="text/javascript"></script>

<%--    <script src="../../Scripts/Telerik/telerik.common.min.js" type="text/javascript"></script>
    <script src="../../Scripts/Telerik/telerik.tabstrip.min.js" type="text/javascript"></script>--%>

    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    <link href="../../Content/jquery-ui.css" rel="stylesheet" type="text/css" />

    <%= Html.Telerik().StyleSheetRegistrar()
                       .DefaultGroup(g => g
                       //.Add("Site.css")
                       .Add("telerik.common.css")
                       .Add("telerik.windows7.css")
                       .Combined(true)
                       .Compress(true))
    %>
</head>

在site.master的末尾,我有以下代码;

<% Html.Telerik().ScriptRegistrar()
                 .DefaultGroup(group => group
                     .UseTelerikContentDeliveryNetwork(true)
                     .Combined(true)
                     .Compress(true)
                  )
                 .Render(); %>

    <%--<script src="../../Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>--%>
    <script src="../../Scripts/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>

通过此设置,我的telerik标签正确呈现,我可以浏览标签。但是在不同的页面上(使用相同的site.master)我想使用jquery UI来呈现日期选择器,但这不起作用。 将以下规则启用到我的site.master

的头部后
<script src="../../Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>

并从我的site.master底部删除下面的部分,我可以使用datepickers。但是然后导航标签提示不起作用。虽然所有选项卡都能正确呈现。

<% Html.Telerik().ScriptRegistrar()
                 .DefaultGroup(group => group
                     .UseTelerikContentDeliveryNetwork(true)
                     .Combined(true)
                     .Compress(true)
                  )
                 .Render(); %>

我怎样才能同时使用?在我看来,当我使用telerik CDN时,我会得到一些完全不同的东西,然后我禁用它。我已经下载了属于Telerik的所有部件,但即使我将它们添加到我的标题中,也无法让它正常工作。

我需要实现哪些从telerik下载的文件才能使用tabstrip而不使用telerik的CDN?如何在没有任何问题的情况下在jquery UI旁边运行它?

1 个答案:

答案 0 :(得分:0)

通过创建自己的scriptregistrar解决了这个问题。之后我在web.config中添加了一个自定义部分,我可以在其中嵌入我需要的脚本。这就像一个魅力,我甚至可以改变加载的脚本序列。

这是web.config中的新内容;

<sectionGroup name="telerik">
      <section name="webAssets" type="Telerik.Web.Mvc.Configuration.WebAssetConfigurationSection, Telerik.Web.Mvc"/>
    </sectionGroup>

<telerik>
    <webAssets useTelerikContentDeliveryNetwork="false">
      <scripts>
        <add name="DefaultScripts" version="2010.07.20.1" combined="false" compress="false" enabled="true" cacheDurationInDays="365">
          <items>
            <add source="ckeditor/ckeditor.js"/>
            <add source="ckeditor/adapters/jquery.js" />

            <add source="Telerik-min/telerik.common.min.js" />
            <add source="Telerik-min/telerik.tabstrip.min.js" />

            <add source="jquery-ui-1.8.5.custom.min.js" />
          </items>
        </add>
      </scripts>
      <styleSheets>
        <add name="CoreStyles" version="2010.10.05.01" combined="true" compress="true" enabled="true" cacheDurationInDays="7">
          <items>
            <add source="Site.css" />
            <add source="jquery-ui.css" />
            <add source ="telerik.common.css"/>
            <add source ="telerik.telerik.css"/>
            <add source ="telerik.windows7.css"/>
          </items>
        </add>
      </styleSheets>
    </webAssets>
  </telerik>

在代码中,我现在可以对javascript和样式表使用以下两个规则

<%=Html.Telerik().ScriptRegistrar().Scripts(scripts => scripts.AddSharedGroup("DefaultScripts"))%>

Html.Telerik().StyleSheetRegistrar().StyleSheets(stylesheets => stylesheets.AddSharedGroup("CoreStyles"))