C# 如何将表单数据正确地发布到控制器操作?

C# 如何将表单数据正确地发布到控制器操作?,c#,asp.net-mvc,C#,Asp.net Mvc,我无法将表单中的数据发布到控制器操作。我已经用HTML.BeginForm()创建了表单,并且我有一个控制器,当我手动创建查询字符串时,它可以正常工作,但是我不知道如何使用我的控制器操作使表单工作 <form class="navbar-form navbar-left"> <div class="form-group> @using (Html.BeginForm("GeneralS

我无法将表单中的数据发布到控制器操作。我已经用HTML.BeginForm()创建了表单,并且我有一个控制器,当我手动创建查询字符串时,它可以正常工作,但是我不知道如何使用我的控制器操作使表单工作

<form class="navbar-form navbar-left">
                    <div class="form-group>
                        @using (Html.BeginForm("GeneralSearch", "Search", FormMethod.Post))
                        {
                            @Html.TextBox("searchString")

                            <button type="submit" class="default">Submit</button>
                        }

                    </div>
                </form>
当我输入文本并提交表单时,网络请求将发送至:

http://localhost:64562/?searchString=test


它只加载默认控制器和操作,而不是使用语句在
中指定的“搜索”控制器。如何正确地发布到特定操作?

您正在发布到正在侦听GET的方法

切换FormMethod

@using (Html.BeginForm("GeneralSearch", "Search", FormMethod.Get))

您正在发布到正在侦听GET的方法

切换FormMethod

@using (Html.BeginForm("GeneralSearch", "Search", FormMethod.Get))
Html.BeginForm(
添加了一个
标记,但我发现您试图将表单标记添加到另一个表单标记中,如下所示;这是错误的

<form class="navbar-form navbar-left">
                    <div class="form-group>
                        @using (Html.BeginForm("GeneralSearch", "Search",
Html.BeginForm(
添加了一个
标记,但我发现您试图将表单标记添加到另一个表单标记中,如下所示;这是错误的

<form class="navbar-form navbar-left">
                    <div class="form-group>
                        @using (Html.BeginForm("GeneralSearch", "Search",

查看表单的呈现html。您需要一个带有
name=“searchString”
的输入,绑定才能工作。此外,表单操作是Post,但您的操作被标记为
[HttpGet]
.GET参数通过查询字符串传递,POST参数通过请求正文传递。Textbox方法中给出的名称不是HTML中使用的名称吗?@user9993-您最好完成一个在线教程或阅读一些内容。类似于。另一种方法是费力地通过它r错误。查看表单的呈现html。需要使用
name=“searchString”
输入绑定才能工作。此外,表单操作是Post,但您的操作被标记为
[HttpGet]
.GET参数通过查询字符串传递,POST参数通过请求正文传递。Textbox方法中给出的名称不是HTML中使用的名称吗?@user9993-您最好完成一个在线教程或阅读一些内容。类似于。另一种方法是费力地通过它错误。您可能应该在控制器操作上添加关于现有
HttpGet
的内容。您可能应该在控制器操作上添加关于现有
HttpGet
的内容。