我有一个模特:
public class Menu
{
public Menu MenuEntity {get;set;}
public List<Menu> MenuList {get;set;}
public int MenuId {get;set;}
public int? ParentId{get;set;}
public string Title{get;set;}
public string Description{get;set;}
public string Levelstate{get;set;}
public string Controller { get; set; }
public string Action { get; set; }
}
在视图中我使用@ Url.Action,如下所示。
<a href ='@Url.Action("GetCustomer", "Customer")'>@citem.Title</a>
我想用模型值更改@ Url.Action中指定的Action和Controller,如下所示:
<a href ='@Url.Action(m => m.Action, m => m.Controller)'>@citem.Title</a>
答案 0 :(得分:3)
Url.Action()
方法只接受字符串作为参数,而不接受表达式。
您可以使用
@foreach(var citem in Model) {
<a href ='@Url.Action(citem.Action, citem.Controller)'>@citem.Title</a>
}
或使用@Html.ActionLink()
@Html.ActionLink(citem.Title, citem.Action, citem.Controller)