如何发布数据而不将其传递给模型 .Net Core

问题描述

我有这个想法

<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就可以传递给方法。