C# 使用标签助手调用控制器,包括asp.net core mvc中搜索栏中的数据

C# 使用标签助手调用控制器,包括asp.net core mvc中搜索栏中的数据,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我对前端有点陌生,所以请耐心等待 我试图用asp.net core 2.2 MVC创建一个表单,以便大家在线建议使用ajax,但我想使用新的标记帮助程序。 这是我的代码(控制器用户与我所在的控制器不同) A. 该按钮使用?1=值调用同一url 但是我想调用标记中指定的控制器和操作,参数作为字符串user/userbyusername/whatusertype的一部分 我应该做什么改变才能让它工作?提前谢谢 更新---------------------- 使用asp路由值,我传递参数,但它传

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

我试图用asp.net core 2.2 MVC创建一个表单,以便大家在线建议使用ajax,但我想使用新的标记帮助程序。 这是我的代码(控制器用户与我所在的控制器不同)


A.
该按钮使用?1=值调用同一url

但是我想调用标记中指定的控制器和操作,参数作为字符串user/userbyusername/whatusertype的一部分

我应该做什么改变才能让它工作?提前谢谢

更新----------------------

使用asp路由值,我传递参数,但它传递的是“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>

A.

如何传递该值?

首先按照如下方式编写
表单:

<form method="post" asp-area="" asp-controller="User" asp-action="UserByUserName">
        <input name="userName" type="text" placeholder="Search..">
        <button type="submit">Submit</button>
</form>
这里我使用了
post
方法。您还可以使用代码中显示的
get
方法。为此,只需将
method=“post”
替换为
method=“get”
,将
[HttpPost]
替换为
[HttpGet]


现在一切都应该正常了。

首先按照如下所示编写
表单:

<form method="post" asp-area="" asp-controller="User" asp-action="UserByUserName">
        <input name="userName" type="text" placeholder="Search..">
        <button type="submit">Submit</button>
</form>
这里我使用了
post
方法。您还可以使用代码中显示的
get
方法。为此,只需将
method=“post”
替换为
method=“get”
,将
[HttpPost]
替换为
[HttpGet]


现在一切正常。

请使用asp路由id传递参数,一切正常!谢谢!但是如何将值从输入传递到标记?我使用了输入的id,但没有传递它。我放置了asp route username=“username”(与id相同),但没有传递文本框的值您必须在路由配置中处理此问题是的,我已经这样做了,但我无法将输入的值传递给asp route value请使用asp route id传递参数。这一切正常!谢谢!但是如何将值从输入传递到标记?我使用了输入的id,但没有传递它。我将asp route username=“username”(与id相同),但没有传递文本框的值您必须在路由配置中处理此问题是的,我已经这样做了,但我无法将输入的值传递给asp路由值
[HttpPost]
public IActionResult UserByUserName(string userName)
{
    // do whatever you want to do with `userName`

    return View();
}