2016-07-27 42 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的“查找用例”将会发现这个位置。