我被要求在 asp.net 中创建一个页面,该页面从用户那里获取 Windows 登录信息,连接到活动目录并获取员工信息。之后,我必须注册用户访问此页面时的内部 ID、名称和时间戳。
我能够通过向网页添加一个提交按钮来完成所有这些操作,调用我创建的“Add”方法。但是,如何在页面加载时自动执行此操作?
我真的不知道如何从这里开始,这就是它现在的工作方式:
添加页面:
@model TrainingReportLogger.Models.AddTrainingReportLogViewModel
<h1> Parabéns!</h1>
<h2>Clique no botão abaixo para concluir o curso</h2>
<form method="post">
<div class="mt-3">
<button type="submit" class="btn btn-primary">Concluir</button>
</div>
</form>
该方法正在被调用:ps:我删除了“Directoryentry”,但它有效。
[HttpPost]
public async Task<IActionResult> Add(AddTrainingReportLogViewModel viewModel)
{
var loginName = login.Split('\\')[1];
DirectoryEntry dom = new DirectoryEntry;
DirectorySearcher searcher = new DirectorySearcher(dom, "(samAccountName=" + loginName + ")");
SearchResult adUser = searcher.FindOne();
string displayName = adUser.Properties["DisplayName"][0].ToString();
string gid = adUser.Properties["employeeId"][0].ToString();
var trainingreportlog = new TrainingReportLog
{
Name = displayName,//login,//viewModel.Name,
GID = gid,
Timestamped = DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss")//viewModel.Timestamped
};
await dbContext.TrainingReportLogs.AddAsync(trainingreportlog);
await dbContext.SaveChangesAsync();
return RedirectToAction("List", "TrainingReportLogs");
}
您可以在 jquery/javascript 中为此创建一个 Ajax post 请求 https://www.w3schools.com/jquery/jquery_ajax_get_post.asp
然后你可以在 javascript onload/jquery document read 函数中获取所有这些消息: https://learn.jquery.com/using-jquery-core/document-ready/