识别对C#函数的JavaScript调用

本文关键字:JavaScript 调用 函数 识别 | 更新日期: 2023-09-27 17:58:52

在我的工作中,我和我的团队在Visual Studio中处理一个.NET MVC项目,我们经常不得不从JavaScript文件中调用控制器或模型函数。例如:

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

这用于从查找控制器内调用CreateLeadForEmployee方法。问题是,每当我们想重命名这些类型的函数或查找对它们的引用时,我们都必须使用更手动的搜索过程,而不是Visual Studio的内置功能(或不同扩展和工具的功能)。这通常会导致错误和问题,因为很容易错过某些参考资料。

我想知道的是,是否有某种工具、包、附加组件或代码语法可以让我和我的团队告诉Visual Studio识别出我提供的示例之类的东西作为特定C#函数的调用?换句话说,当我在Visual Studio中右键单击CreateLeadForEmployee并选择"查找所有引用"时,它将包括对由JavaScript文件生成的函数的任何引用,我该如何做到这一点?

识别对C#函数的JavaScript调用

问题的快速答案是,没有工具可以解决这个问题。

服务器端的intellisense只关注服务器端组件,而客户端的intellissense只处理客户端组件,例如脚本、css、html元素和属性。

另一种选择是在Visual Studio中使用crtl + shift + F进行搜索,以查找所有出现的特定关键字,并且可以适当地更新"查找结果"窗口中显示的每个文件。

您可以做的一件事是使用Url.Action辅助方法来生成该操作方法的相对路径。

所以你可以做而不是url: "/Lookup/CreateLeadForEmployee"

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

当razor执行页面时,它将执行Url.Action方法,并生成该操作方法的相对url。

如果你在razor视图中使用javascript代码,以上内容将起作用。如果你在外部js文件中使用url,你应该生成并设置一个变量的相对url值,并在你的外部js中使用它,如本文所述。

通过这种方法,视觉工作室的"寻找用法"将发现这个位置。