我有 ASP.Net MVC 5 应用程序,我想从 View 中调用一个方法,我该怎么做?
我的代码:
我的用户列表函数:
public ActionResult UsersList()
{
var User_VM = new UserVM
{
MyUsers = context.Users.OrderBy(u => u.Email).Include(u => u.Roles).ToList()
};
return View(User_VM);
}
用户 ListView :
@foreach(var user in Model.MyUsers)
{
<tr>
<td>@user.Email</td>
<td>
@foreach(var r in user.Roles)
{
<p>
@Html.Action(GetRoleNameById(r.RoleId))
</p>
}
</td>
</tr>
}
和我在 Controller 中的功能:
public ActionResult GetRoleNameById(string RoleId)
{
var RoleName = context.Roles.Where(r => r.Id == RoleId).FirstOrDefault();
return Content(RoleName.ToString());
}
最佳答案
您可以使用 overload 调用您的服务器方法Html.Action()
接受 Action 名称作为第一个参数,路由值作为第二个参数
@foreach(var r in user.Roles)
{
<p>@Html.Action("GetRoleNameById", new { roleId = r.RoleId })</p>
}
关于c# - AsP.Net MVC 5 如何在 View 中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45647211/