问题描述
我有这个想法
<form class="d-inline-block" asp-controller="">
<div class="form-group mb-2 d-inline-block">
<input type="text" readonly class="form-control-plaintext border-bottom " placeholder="Task Number">
</div>
<button type="submit" class="btn btn-primary mb-2">Assign</button>
</form>
这是我在控制器中名为 ManageController
public IActionResult AssignTask(string tasknumber,string userid,string username)
{
sqlConnection sqlcon = new sqlConnection(".....");
sqlcon.open();
sqlCommand sqlcom = new sqlCommand("...",sqlcon);
sqlcom.ExecuteNonQuery();
sqlcon.Close();
return RedirectToAction("Members",new { Username = username });
}
当用户点击提交而不使用 asp-for
作为输入时,我如何将所有这些参数传递给控制器。
解决方法
您可以使用以下代码:
<form class="d-inline-block" asp-controller="Manage" asp-action="AssignTask">
<div class="form-group mb-2 d-inline-block">
<input type="hidden" name="tasknumber" value="yourvalue"/>
//...
<input type="text" readonly class="form-control-plaintext border-bottom " placeholder="Task Number">
</div>
<button type="submit" class="btn btn-primary mb-2">Assign</button>
</form>
方法:
[HttpPost]
public IActionResult AssignTask(string tasknumber,string userid,string username)
{
//...
}
同样的,在你的输入框中,你只需要给它一个与方法name
相同的parameter name
就可以传递给方法。