2016-07-27 76 views
1

在我的工作中,我的團隊和我在Visual Studio中工作.NET MVC項目,我們經常必須從JavaScript文件中調用控制器或模型函數。例如:識別JavaScript調用C#函數

$.ajax({ 
       "dataType": 'json', 
       "type": "POST", 
       "url": "/Lookup/CreateLeadForEmployee" 

這用於在查找控制器中調用CreateLeadForEmployee方法。問題是,無論何時我們想要重命名這些類型的函數或找到對它們的引用,我們都必須使用更爲人工的搜索過程,而不是Visual Studio的內置功能(或具有不同擴展和工具的功能)。這通常會導致錯誤和問題,因爲很容易錯過某些參考文獻。

我想知道的是,如果有某種工具,軟件包,附加組件或代碼語法可以讓我和我的團隊告訴Visual Studio識別我所提供的作爲特定調用C#函數?換句話說,我該怎麼做才能讓我在Visual Studio中右擊CreateLeadForEmployee並選擇「查找所有引用」,它會包含對JavaScript文件所做功能的所有引用?

回答

1

對你的問題的快速回答是,沒有這個工具。

服務器端intellisense僅關注服務器端組件,而客戶端intellisense僅處理客戶端組件,例如腳本,css,html元素和屬性。

另一種方法是在Visual Studio中使用crtl + shift + F進行搜索,以查找所有出現的特定關鍵字,並且可以適當地更新在「查找結果」窗口中顯示的每個文件。

1

你可以做的一件事就是使用Url.Action輔助方法來生成此操作方法的相對路徑。

所以與其做url: "/Lookup/CreateLeadForEmployee"的,你可以做

url: "@Url.Action("CreateLeadForEmployee","Lookup")"

當剃刀執行該頁面時,它會執行Url.Action方法和產生相對URL這種操作方法。

如果您在剃鬚刀視圖中使用JavaScript代碼,上述內容將正常工作如果您在外部js文件中使用url,您應該生成相應的url值並將其設置爲一個變量並將其用於外部js文件,如this post中所述。

通過這種方法,visual studio的「查找用例」將會發現這個位置。