我的目标是,当我单击绿色复选标记时,它将字段从1更新为0,这将返回并使绿色复选标记变为红色x。这是我桌子的图片,仅供参考。
[我的Alerts.cshtml代码:
@for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Model[i].AppName
</td>
<td>
@Model[i].MonAlertsID
</td>
<td>
@Model[i].AlertType
</td>
<td>
@Model[i].DisplayName
</td>
<td>
<form class="form-inline ml-auto" asp-action="Alerts2" method="POST">
@if(@Model[i].Active == "1")
{
<button type="submit" name="changetoinactive" asp-action="Alerts2" formmethod="POST" class="btn btn-success btn-raised btn-fab btn-fab-mini btn-round">
<i class="material-icons">done</i>
</button>
}
@if (@Model[i].Active == "0")
{
<button type="submit" name="notactive" id="notactive" class="btn btn-danger btn-raised btn-fab btn-fab-mini btn-round">
<i class="material-icons">clear</i>
</button>
}
</form>
</td>
</tr>
}
我的控制器:
public string Alerts2()
{
}
如何从cshtml页面上的表单获取AppName和MonAlertsID的值到控制器?
您可以使用hidden
输入类型将AppName
和MonAlertsID
发布到控制器。动作参数的名称应与隐藏输入的名称匹配。
Alerts.cshml:
<td>
<form class="form-inline ml-auto" asp-action="Alerts2" method="POST">
<input type="hidden" name="appName" value="@Model[i].AppName" />
<input type="hidden" name="monAlertsID" value="@Model[i].MonAlertsID" />
@if (@Model[i].Active == "1")
{
<button type="submit" name="changetoinactive" class="btn btn-success btn-raised btn-fab btn-fab-mini btn-round">
<i class="material-icons">done</i>
</button>
}
@if (@Model[i].Active == "0")
{
<button type="submit" name="notactive" id="notactive" class="btn btn-danger btn-raised btn-fab btn-fab-mini btn-round">
<i class="material-icons">clear</i>
</button>
}
</form>
</td>
动作
[HttpPost]
public IActionResult Alerts2(string appName, int monAlertsID)
{
//save changes to database
//...
return RedirectToAction("Alerts");
}