页面加载时插入数据库

问题描述 投票:0回答:1

我被要求在 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");
}
c# html asp.net-mvc post http-post
1个回答
0
投票

您可以在 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/

© www.soinside.com 2019 - 2024. All rights reserved.