通过Active Directory方法从ID获取名称

本文关键字:获取 ID Active Directory 方法 通过 | 更新日期: 2023-09-27 18:18:38

我有点难以解释。

assigndto是数据库中的Guid。我需要将其与广告中的Guids列表进行比较,以获得要显示的名称。

我做广告没有问题。问题更多的是如何在视图中显示名称。

谢谢你的帮助。

_

View:(Model is Entity Model of DB)

    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>@item.AssignedTo</td>
            </tr>
        }
    </tbody>

控制器:

    private MyEntities db = new MyEntities();
    public ViewResult Index()
    {
        return View(db.Items.ToList());
    }

广告代码:(不知道该把它放在哪里,让它可以访问视图。)

    public string GetUserFromGuid(Guid g)
    {
        ActiveDirectoryModel adm = new ActiveDirectoryModel();
        return adm.FetchContacts().Find(n => n.Value == g.ToString()).Text;
    }

通过Active Directory方法从ID获取名称

调整传递给视图的视图模型:

private MyEntities db = new MyEntities();
public ViewResult Index()
{
    var model = db.Items.ToList().Select(x => GetUserFromGuid(x.AssignedTo));
    return View(model);
}

,然后在你的视图中:

@model IEnumerable<string>
...
<tbody>
    @foreach (var item in Model)
    {
        <tr>
            <td>@item</td>
        </tr>
    }
</tbody>

我通过创建一个局部类修复了这个问题。

public partial class Item
{
    public string AssignedToName { get; set; }
}

然后做一些接近Dimitri建议的事情…

model.ForEach(x => x.AssignedToName = GetUserFromGuid(x.AssignedTo));

然后显示…

<td>@item.AssignedToName</td>