【发布时间】:2017-09-24 17:48:23
【问题描述】:
我有一个论坛,我在该论坛上接受用户的参数,并使用这些参数在我的数据库上启动一个过程。
我有点卡住了,我需要做什么:
- 在单击按钮后禁用该按钮,直到 SP 完成,然后再次启用它。
我的论坛:
<form asp-action="RunProcedure" asp-controller="Home">
<div asp-validation-summary="ModelOnly"></div>
<div class="form-group">
<label asp-for="ShiaruchDate">Shiaruch Date</label>
<input asp-for="ShiaruchDate" placeholder="YYYY-MM-DD 00:00:00" class="form-control" />
<span asp-validation-for="ShiaruchDate" class="text-muted"></span>
</div>
<div class="form-group">
<p>Please enter dates in format of : YYYY-MM-DD 00:00:00</p>
<input type="submit" />
</div>
我的控制器:
[HttpPost]
public async Task<IActionResult> RunProcedure(string startDate, string endDate, string shiaruchDate)
{
if (ModelState.IsValid)
{
using (var cmd = _context.Database.GetDbConnection().CreateCommand())
{
cmd.CommandText = "RunSSISPackage";
cmd.CommandType = CommandType.StoredProcedure;
// set some parameters of the stored procedure
cmd.Parameters.Add(new SqlParameter("@param3", SqlDbType.NVarChar)
{
Value = shiaruchDate
});
if (cmd.Connection.State != ConnectionState.Open)
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
}
if (await _ISSISRepository.SaveChangesAsync())
{
}
ModelState.Clear();
return View();
}
如何禁用点击按钮?
我创建了SaveChangesAsync():
public async Task<bool> SaveChangesAsync()
{
return (await _context.SaveChangesAsync()) > 0;
}
检查程序是否完成 - 我对此是否正确?如果是,如何在控制器上的这种情况下再次启用按钮?
【问题讨论】:
标签: c# entity-framework asp.net-core