Cic*_*ami 2 c# actionlink routevalues asp.net-mvc-3
我有一个使用C#和Razor在ASP.NET MVC3中开发的Web应用程序.
我想通过使用ActionLink HTML帮助程序调用特定Controller的特定Action方法.我知道ActionLink的第二个参数指定要从默认路由调用的Action方法,这是我的Global.asax文件中唯一的一个:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
我想从Home Controller 调用Download Action方法而不是Index.这不起作用:
@Html.ActionLink("Presentation", "Download", "Home", new { topicId = topic.TopicId } )
Run Code Online (Sandbox Code Playgroud)
它需要第三个参数类型的对象,但我无法在网上找到任何例子.
调用特定Controller/ActionMethod需要哪些步骤?我应该在我的Global.asas文件中创建另一个路由吗?
谢谢
Soe*_*Moe 22
试试这个:
@Html.ActionLink("Download", "Download", new { controller = "Home", Id = topic.TopicId });
Run Code Online (Sandbox Code Playgroud)
第三个参数object:routeValues在Asp.net MVC中用作字典.Phil Haacked 在博客中谈到了将对象用作路由值的决定.
更新:
您的重载功能无效,因为您正在调用此方法.字符串也是对象.所以,你传递的"Home"是routeValues和new { topicId = topic.Id}htmlAttributes.:)
| 归档时间: |
|
| 查看次数: |
16468 次 |
| 最近记录: |