AsP.Net MVC 5如何在视图中调用函数 [英] AsP.Net MVC 5 how to call a function in view

查看:237
本文介绍了AsP.Net MVC 5如何在视图中调用函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有ASP.Net MVC 5应用程序,我想从视图中调用方法该怎么做?

I have ASP.Net MVC 5 application I want to call a method from view how can I do it?

我的代码:

我的UsersList函数:

My UsersList function:

    public ActionResult UsersList()
    {

        var User_VM = new UserVM
        {
            MyUsers = context.Users.OrderBy(u => u.Email).Include(u => u.Roles).ToList()
        };

        return View(User_VM);

    }

UsersList视图:

UsersList View:

@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>
}

和我在控制器中的功能:

and my function in controller:

   public ActionResult GetRoleNameById(string RoleId)
    {
        var RoleName = context.Roles.Where(r => r.Id == RoleId).FirstOrDefault();
        return Content(RoleName.ToString());
    }

推荐答案

您可以使用Html.Action()的rel ="nofollow noreferrer">重载,将动作名称作为第一个参数,并将路由值作为第二个参数

You can call your server method by using the overload of Html.Action() that accepts the action name as the first parameter and the route values as the 2nd parameter

@foreach(var r in user.Roles)
{
    <p>@Html.Action("GetRoleNameById", new { roleId = r.RoleId })</p>
}

这篇关于AsP.Net MVC 5如何在视图中调用函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆