T4MVC将当前页面控制器添加到动作链接

时间:2012-10-26 16:58:43

标签: asp.net-mvc t4mvc

我有以下ActionLink,它位于寄存器控制器(Index.cshtml)的主页上

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

生成以下网址。为什么要“注册”添加到它?就好像Register页面中有自己的控制器的链接是否会将寄存器控制器预先显示在该视图中的任何链接上?

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());
    }

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

<a href="@Url.Action("ExportAsCSV", "Download", new { target = "_blank" })" >Download2</a>