我遇到了一個奇怪的問題,我有一個填充的資料表,我試圖將 StoreLicenseId 傳遞給我的控制器中的一個方法,但我的方法中的引數始終為空。StoreLicenseId 在我的資料表中。一切看起來都正確,但我就是無法讓它作業。
看法
<form method="post">
<input class="btn btn-outline-info btn-1" type="submit" value="Terminal" asp-controller="Terminal" asp-action="TerminalInfo" asp-route-id="@item.StoreLicenseId">
</form>
控制器
public IActionResult TerminalInfo(string storeLicenseId)
{
if (_context.StoreLicenses == null)
{
return NotFound();
}
var terminalModel = _context.StoreLicenses.FindAsync(storeLicenseId);
if (terminalModel == null)
{
return NotFound();
}
return View(terminalModel);
}
uj5u.com熱心網友回復:
您應該將您的 asp-route 引數設定為與控制器操作預期的引數相同的名稱,因此請更改此
asp-route-id="@item.StoreLicenseId"
至
asp-route-storeLicenseId="@item.StoreLicenseId"
或將控制器操作中的名稱更改為簡單的id
uj5u.com熱心網友回復:
1.添加輸入名稱屬性 2.洗掉路由id
<input class="btn btn-outline-info btn-1" type="submit" value="Terminal" asp-controller="Terminal" asp-action="TerminalInfo" name="storeLicenseId">
或:使用 asp-for
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/517365.html