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

问题描述:

有点难以解释,但我会尝试。通过Active Directory方法从ID获取名称?

AssignedTo是数据库中的Guid。我需要将它与AD中的Guid列表进行比较,以获得显示的名称。

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

感谢您的帮助。

_

查看:(型号为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; 
    } 
+0

对不起,我不知道这里的问题是...这似乎填充和显示很好。 – 2011-12-22 00:39:31

+0

问题是你不知道如何访问活动目录,或者你不知道如何比较guid? – 2011-12-22 00:41:59

+0

我不知道如何让它显示从AD将它比较的名字。我不能在普通模型中做到这一点,我尝试使用这里找到的方法,但它也没有工作:http://www.headspring.com/2011/07/how-to-add-a-method- to-viewbag-in-asp-net-mvc – Ber53rker 2011-12-22 00:45:36

适应要传递到您的视图视图模型:

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> 
+0

关闭,但它对我无效。 – Ber53rker 2011-12-22 13:50:27

我通过创建一个部分类固定的问题。

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

,然后做一些接近迪米特里什么建议?

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

然后显示它...

<td>@item.AssignedToName</td>