[Visual Studio 2015] Telerik Client API and jQuery IntelliSense

開始之前,先說明這並非 VS2015 專有功能,不同的版本 VS IDE 有不同的步驟

問題情境:

  1. 使用 Telerik UI for ASP.NET AJAX 開發網站時,沒有 JavaScript IntelliSense
  2. Telerik UI for ASP.NET AJAX 已經包含了 jQuery,不想要在專案裡再次參考 jQuery 解決方法
  3. Update-$telerik.$ 無法使用 IntelliSense

開始之前,先說明這並非 VS2015 專有功能,不同的版本 VS IDE 有不同的步驟

問題情境:

  1. 使用 Telerik UI for ASP.NET AJAX 開發網站時,沒有 JavaScript IntelliSense
  2. Telerik UI for ASP.NET AJAX 已經包含了 jQuery,不想要在專案裡再次參考 jQuery 解決方法
  3. Update-$telerik.$ 無法使用 IntelliSense

開發環境:

  • Windows 10 企業版 x64
  • Visual Studio Enterprise 2015

本文連結:

  1. 在 Master Page 或 Content Page 加入ScriptReference:
  2. 專案裡加入_references.aspx,並讓 VS IDE 參考:
  3. Update-$telerik.$ 的IntelliSense:
  4. 參考文件:

在 Master Page 或 Content Page 加入ScriptReference:

一直以來我都是在 Master Page (*.aspx) 使用 ScriptManager 


    <Scripts>
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
    </Scripts>
</asp:ScriptManager>

 

這樣就可以在 Content Page (*.aspx) 使用 $telerik api 的 IntelliSense,不過,上述方法沒有辦法套用在 *.js 外部檔案

image

注意:若使用 RadScriptManager 將無法使用 IntelliSense

 

專案裡加入_references.aspx,並讓 VS IDE 參考:

這時候我們可以在 VS IDE 參考 *.aspx ,比如:_references.aspx,新增 _references.aspx,然後把上述的 ScriptManager 區段加進去

image

 

 

再來,把這個檔案加到 JavaScript IntelliSense References,我這裡用相對路徑~/Scripts/_references.aspx,讓 VS IDE 會去抓目前專案裡的目錄

image

 

 

完成後,建置一下專案,沒意外的話,*.aspx 和外部 *.js 檔案就會有 $telerik 的 IntelliSense,若還是沒有 IntelliSense,重啟一下 VS IDE 試看看

image

 

 

加入 jQuery CDN:

解決了 $telerik,接下來是 jQuery 的 IntelliSense

Telerik UI for ASP.NET AJAX 裡面本來就嵌入 jQuery,我想要用 jQuery 的 IntelliSense,不同的版本對應到的 jQuery 都不一樣,我現在用 2015 Q3,不在表列裡面,所以很有可能跟 2014 Q3 相同

http://docs.telerik.com/devtools/aspnet-ajax/general-information/using-jquery/using-jquery#telerik-ui-controls-using-jquery

image

 

我不打算再專案裡面加入 jQuery.js ,我只想單純的使用 jQuery IntelliSense,在 _references.aspx 裡面,加入 CDN 位置<asp:ScriptReference Path=http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js />

image

 

 

 

 

完成後,建置一下專案,沒意外的話,*.aspx 和外部 *.js 檔案就會有 $telerik 的 IntelliSense,若還是沒有 IntelliSense,重啟一下 VS IDE 試看看

image

SNAGHTML9c7902b

 

 

Update-Remove jQueryInclude.js:

後來發現把 jQueryInclude.js 拿掉就可以不需要jQuery CDN

jQueryInclude.js will replace jQuery (the global $ variable) with the version embedded in Telerik RadControls! 出自:http://www.telerik.com/blogs/asp-net-ajax-controls-and-jquery-intellisense---update

 


    <Scripts>
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
        <%--<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />--%>
    </Scripts>
</asp:ScriptManager>

 

Update-$telerik.$ 的IntelliSense:

加入 jQueryExternal.js 就可以用 $telerik.$ 的 IntelliSense


    <Scripts>
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
        <%--<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />--%>
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryExternal.js" />
        <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryPlugins.js" />
        <%--<asp:ScriptReference Path="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js" />--%>
    </Scripts>
</asp:ScriptManager>

 

執行結果如下:

image

 

參考文件:

http://docs.telerik.com/devtools/aspnet-ajax/general-information/using-jquery/jquery-intellisense

http://docs.telerik.com/devtools/aspnet-ajax/general-information/using-jquery/using-jquery#including-external-jquery

http://docs.telerik.com/devtools/aspnet-ajax/general-information/using-jquery/using-jquery#using-the-jquery-brought-by-telerik

http://gurustop.net/blog/2012/03/03/javascript-js-intellisense-auto_complete-in-visual-studio-11-beta-the-web-_references-js-file/

http://blog.miniasp.com/post/2010/04/19/Visual-Studio-2010-jQuery-Development-Tips.aspx


文章出自:http://www.dotblogs.com.tw/yc421206/archive/2015/11/11/153888.aspx

 

 

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo