0

我有以下 ActionLink 位于注册控制器的主页中(Index.cshtml)

@Html.ActionLink("terms of service", Url.Action(MVC.Home.Terms()), 
                 null, new  { target="_blank" })

生成以下 URL。为什么要添加“注册”?就好像注册页面中拥有自己的控制器的链接正在将注册控制器预先附加到该视图中的任何链接?

http://localhost/register/terms-of-service

    routes.MapRoute(
        "Terms",
        "terms-of-service",
        new { controller = "Home", action = "Terms" }
    );

public partial class HomeController : SiteController
{
    public virtual ActionResult Terms()
    {
        return View(new SiteViewModel());
    }
4

2 回答 2

1

您可以尝试使用标准 MVC 而不是 T4MVC 生成相同的链接,以检查行为是否特定于 T4MVC?带有路由的 MVC 行为通常令人费解,因此在将其作为 T4MVC 事物进行调查之前先隔离它总是好的。

于 2012-10-29T07:15:56.317 回答
0

这对我有用...从没有重定向的 .cshtml 文件下载等...花了一段时间才得到有效的东西

<a href="@Url.Action("ExportAsCSV", "Download", new { target = "_blank" })" >Download2</a> 
于 2014-05-16T22:54:07.017 回答