c# - Ajax 可以访问非控制器方法吗?
问题描述
我有一个包含许多帮助功能的类,可以轻松地为我的网络应用程序做很多事情。我曾尝试使用 Ajax 并访问此类,但没有成功。我在尝试一些不可能的事情吗?Ajax 只能访问控制器吗?
解决方案
简短的回答。是的,您可以通过 RegisterRoutes 方法中的 RouteConfig 类中的自定义路由对控制器外部的类进行 ajax 调用。设置某些路由(比如你的辅助函数)被处理程序忽略并让流量通过。
您的情况最正确的答案。你不应该。任何辅助函数的易用性都会随着您必须做的工作而迅速减少,因为您现在负责处理所有进出您的辅助类的 http 协议,以便从客户端到服务器以及返回。
...而您的同事(或任何继承您的代码的人)最终会厌恶您违反惯例而没有真正需要这样做。
无需重新发明轮子,只需在您的项目中设置一个 Helper 控制器,并使其负责来回处理 http 请求并包装您的辅助函数。它可以是一个基本的控制器,不返回任何操作结果,并且您不必构建视图,它可以只负责返回 Json 而没有构建任何其他内容。它不会打破惯例,您将能够利用多年的知识和构建 http 处理,并且您的开发人员不会想在睡梦中谋杀您,因为您只是因为可以做某事。
推荐阅读
- javascript - 如何将 http 请求响应存储在本地变量中并在我的任何文件中使用它?
- firebase - 问题在 Firebase Firestore 的文档中获取单个字段
- python - 熊猫数据框获取每行出现次数最多的值(Python2)
- javascript - 了解如何使 setState 在异步调用中工作
- c# - 在门户中运行 Azure Function 时出现内部服务器错误
- python - 从烧瓶的下拉菜单中传递选定的选项
- php - 连接两个数据库A和B
- r - 如何在R中的一行中简化列表的代码?
- python - 类型冲突:图像与 varchar(max) 不兼容
- groovy - SoapUI:使用属性传输传输 groovy 脚本结果