我有一个文件夹'Report',它包含ReportController。
现在我想将AgreementController添加到同一个文件夹中。
来自javascript我有一个代码,运行'下载'动作(下载文件)。
当我从javascript运行时 - 报告/下载/ id ='5'一切都很好。
当我从javascript运行时 - 报告/协议/下载/ id ='5'一切都很糟糕。
如何从协议控制器运行“下载”操作? 我不想要一个文件夹 - 一个控制器结构。
我认为只有哪些方面可以帮助我?
答案 0 :(得分:1)
根据路线:
url: "{controller}/{action}/{id}"
您的代码是:
Report/Agreement/Download/id='5'
所以在你的情况下:
Controller= Report
action= Agreement
Id= Download.
这就是你收到错误的原因
您需要从通话结束中删除报告使用此:
Agreement/Download/id='5'
答案 1 :(得分:0)
如果您在同一个视图页面而不是外部js文件中编写js, ,您可以在ajax调用文件方法中使用mvc url.action来调用相应的控制器和动作方法如下所述
<强> syantax:强> url:'@ Url.Action(“ActionMethodName”,“ControllerName”,new {Parameters})'
在你的情况下,它会是这样的:
调用报表控制器的下载方法
url:'@ Url.Action(“下载”,“报告”,新{id =“价值”})'
调用协议控制器的下载方法
url:'@ Url.Action(“下载”,“协议”,新{id =“价值”})'
如果您使用的是外部js文件,那么它将如下所示
url:serverbaeurl +“/ Agreement / Download?id =”+“Value”
(此处serverbaseurl将是网站的域名)
(您必须根据需要添加其他ajax选项)