2012-10-26 85 views
0

我有以下ActionLink的是,在主页坐在寄存器控制器(Index.cshtml)T4MVC将当前页面控制器动作链接

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

生成以下网址上。为什么“注册”被添加到它?就好像注册页面中具有自己的控制器的链接正在将注册控制器显示在该视图中的任何链接上?

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

回答

1

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

+0

你没给我一个线索的东西,我删除了Url.Action,@ Html.ActionLink(“服务条款”,MVC.Home.Terms(),new {target =“_ blank”})。 –

0

这为我工作......从.cshtml文件下载没有重定向,等...花了一段时间来获取工作

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