1

我的 .cshtml 页面中有一个 < href > 属性,位于我的 mvc 4 中的 mvc4 @cp.Name .... 我需要的是如果有人单击上面的链接。我必须将他重定向到 Controller 中的任何 ActionName(例如:HomeController 中的索引)......怎么做。在我上面的示例中,我已重定向到 google.com……但我需要重定向到控制器中的任何操作名……我的代码:

<nav> @{ List<MenuRazor.Models.MenuItem> menulist = ViewBag.Menu; } 
<ul id="menu">  
    @foreach (var mp in menulist.Where(p => p.ParentMenu_Id == 0)) {
    <li> <a href="#">@mp.Name</a> 
        @if (menulist.Count(p => p.ParentMenu_Id == mp.Id) > 0)
        { @:<ul> }  
          @RenderMenuItem(menulist, mp)  
          @if (menulist.Count(p => p.ParentMenu_Id == mp.Id) > 0){@:</ul> } 
    </li> } 
</ul> 

@helper RenderMenuItem(List<MenuRazor.Models.MenuItem> menuList, MenuRazor.Models.MenuItem mi) 
{
    foreach (var cp in menuList.Where(p => p.ParentMenu_Id == mi.Id)) {
        @:<li> <a href="http://codeproject.com">@cp.Name</a> 

        if (menuList.Count(p => p.ParentMenu_Id == cp.Id) > 0) { 
            @:<ul> 
        } 
        @RenderMenuItem(menuList, cp) 
        if (menuList.Count(p => p.ParentMenu_Id == cp.Id) > 0) { 
           @:</ul> 
        } else  { 
           @:</li> 
        }  
} }   </nav>
4

2 回答 2

1

您可以使用:@Url.Action("ActionName", "ControllerName")

有关详细信息,请参阅此MSDN链接。

于 2013-09-19T04:23:50.007 回答
0

您可以使用@Html.ActionLink@Url.Action生成您的链接。

@Html.ActionLink("Link name", "Action", "Controller", new { id = your_param }, null)

或者

@Url.Action("Action", "Controller")

@Html.ActionLink可能更适合您当前的问题。

于 2013-09-19T04:28:55.743 回答