我对前端有点陌生,所以请耐心等待。
我尝试使用 asp.net core 2.2 MVC 创建一个表单,因为每个人都在网上建议使用 ajax,但我想使用新的标签助手。这是我的代码(控制器用户与我所在的控制器不同)
<form method="get" asp-area="" asp-controller="User" asp-action="UserByUsername">
<input id="userName" type="text" placeholder="Search.." name="1">
<button type="submit" value="userName">a</button>
</form>
该按钮使用 ?1=value 调用相同的 url
但我想调用控制器和标签中指定的操作,将参数作为字符串 user/userbyusername/ whatusertype 的一部分
我应该改变什么才能使它工作?提前致谢!
更新----------------------
使用 asp-route-value 我正在传递参数,但它传递的是“userName”而不是下面的 texboxid“userName”的值
<form method="get"asp-route-username="userName" asp-area="" asp-controller="User" asp-action="UserByUsername">
<input id="userName" type="text" placeholder="Search..">
<button type="submit" value="userName">a</button>
</form>
我怎样才能传递那个值?
首先写下你的form
完全如下:
<form method="post" asp-area="" asp-controller="User" asp-action="UserByUserName">
<input name="userName" type="text" placeholder="Search..">
<button type="submit">Submit</button>
</form>
现在在您的控制器方法中:
[HttpPost]
public IActionResult UserByUserName(string userName)
{
// do whatever you want to do with `userName`
return View();
}
这里我使用了post
方法。您还可以使用get
代码中显示的方法。对于这个刚刚替换method="post"
用method="get"
,并[HttpPost]
用[HttpGet]
。
现在一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句