javascript - 使用 URL.Action 时的路由问题
问题描述
全部,
我在控制器上定义了以下路由/操作:
[RoutePrefix("widgets/download-functions")]
[Route("download/{publishedReportId}"), HttpGet]
public ActionResult Download(int publishedReportId)
在我的 js 代码中,我想创建一些具有适当 id 的路由。
这就是我的 js 代码中的内容(不起作用)。我错过了什么?
self.downloadFile = function (data) {
console.log(data);
console.log("@(Url.Action("Download", new { publishedReportId = 9999 }))");
console.log("@(Url.Action("Download"))");
};
对这些东西和学习仍然很陌生,我相信这很简单。
当我运行此代码时,我在控制台中得到以下信息
控制台输出
谢谢jonpfl
解决方案
如果你使用的是Url.Action,它没有利用属性路由,你需要按照原来的路由方法,使用Action、Controller、area和params来获取扩展方法来产生url .
[RoutePrefix("widgets/download-functions")]
public class WidgetDownloadController : Controller
...
[Route("download/{publishedReportId}"), HttpGet]
public ActionResult Download(int publishedReportId)
你会得到一个 Url.Action 像:
console.log("@(Url.Action("Download","WidgetDownload", new { publishedReportId = 9999 }))");
此外,这仅适用于由 razor 引擎解析的脚本,即。直接在视图中编写的脚本。
推荐阅读
- apache-kafka - debezium kafka 连接问题
- powershell - 通过 PowerShell 自动将主机名移动到 OU
- c - 为什么调试语句Serial.println(i)时for循环行为会发生变化;存在与注释掉
- c# - 使用 DontDestroyOnLoad 调用场景加载方法
- laravel-8 - Laravel 惯性链接与 id
- firebase - 为什么我在 QuerySnapShot firestore 颤动时遇到错误?
- excel - 在 2 列中查找最接近的匹配 x、y、z 点,然后计算距离 [Excel VBA 或公式]
- python - 如果 else 语句在自定义 python 函数中不起作用
- php - php解析错误的问题:无效的数字文字
- testcafe - 在 Testcafe 中调用 .getVue() 时出现错误“_keys2 未定义”