你可以说我是 C# MVC 的新手,遇到了一些问题,研究了很多,这是我在这里的第一个主题。
我正在开发一个使用活动目录数据的应用程序。我有一个从 AD 导入数据的表用户。这是我的控制器创建代码:
[HttpPost]
public ActionResult Create(User user)
{
if (ModelState.IsValid)
{
DirectorySearcher directorySearch = new DirectorySearcher();
directorySearch.Filter = "(&(objectClass=user)(SAMAccountName=" + user.IdUser + "))";
SearchResult results = directorySearch.FindOne();
if (results != null)
{
if (results.Properties.Contains("mail")) //E-mail
{
user.E_mail = results.Properties["mail"][0].ToString();
}
else
{
user.E_mail = string.Empty;
}
if (results.Properties.Contains("c")) //Country
{
user.Country = results.Properties["c"][0].ToString();
}
else
{
user.Country = string.Empty;
}
}
db.User.Add(user);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CompanyCode = new SelectList(db.Company, "CompanyCode", "CompanyName", user.CompanyCode);
ViewBag.Country = new SelectList(db.Country, "CountryName", "CountryName", user.Country);
return View(user);
}`
这是我的一些创建视图代码:
<div class="editor-label">
@Html.LabelFor(model => model.IdUser)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.IdUser)
@Html.ValidationMessageFor(model => model.IdUser)
我想要做的是在 AD 中检查用户是否确实存在一个函数并将值返回到 IdUser 字段但在单击提交之前,就像检查名称一样。
我正在考虑的一个解决方案,在视图中只需放置一个按钮:
<p>
<input type="submit" value="Check" onClick="CheckFunction(model.IdUser)" />
</p>
功能类似于:
public string CheckFunction(string Id)
{
DirectorySearcher directorySearch = new DirectorySearcher();
directorySearch.Filter = "(&(objectClass=user)(SAMAccountName=" + Id + "))";
SearchResult results = directorySearch.FindOne();
if (results != null)
{
return Id;
}
return string.Empty;
}
但问题是我不知道如何将 Function 中返回的 Id 字符串设置为 model.IdUser 字段。
你们能帮帮我吗?