繁体   English   中英

带有标签助手的呼叫控制器,包括来自ASP.NET Core MVC中搜索栏的数据

[英]Call controller with tag helpers including data from search bar in asp.net core mvc

我对前端有点陌生,所以请耐心等待。

我试图用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]

现在一切都应该正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM