C# 如何在MVC razor中将文本框值传递给URL.Action?

C# 如何在MVC razor中将文本框值传递给URL.Action?,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有一个ASP.NETMVC网站,我想使用URL操作将文本框值从视图传递给控制器 下面是我的代码 <table class="table table-striped table-bordered table-hover" id="products" width="100%"> <thead> <tr> <th>ProductId</th> <th>Name</

我有一个ASP.NETMVC网站,我想使用URL操作将文本框值从视图传递给控制器

下面是我的代码

<table class="table table-striped table-bordered table-hover" id="products" width="100%">
   <thead>
       <tr>
          <th>ProductId</th>
          <th>Name</th>
          <th>ShortName</th>
          <th>ProductNamePrefix</th>
          <th>Minimum Count</th>
          <th>Add Product</th>
       </tr>
   </thead>
   <tbody>
      @foreach (var item in Model)
      {
         <tr>
            <td>
               @Html.DisplayFor(modelItem => item.ProductId)
            </td>
            <td>
               @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
               @Html.DisplayFor(modelItem => item.ShortName)
            </td>
            <td>
               @Html.DisplayFor(modelItem => item.ProductNamePrefix)
            </td>
            <td>
               @Html.TextBox("MinCount", item.MinimumCount, new {@class = "form-control" + " " + item.ProductId})
            </td>
            <td>
               @if (item.IfExists == true)
               {
                  <div class='isa_success'><i class='fa fa-check'></i></div>
               }
               @if (item.IfExists == false)
               {
                  <a href="@Url.Action("AddProduct", "Home", new { ProductId = item.ProductId, Name = item.Name, ShortName = item.ShortName, ProductNamePrefix= item.ProductNamePrefix, MinimumCount= item.MinimumCount})"><div class='isa_info'><i class='fa fa-plus-circle'></i></div></a>
               }
           </td>
        </tr>
      }
   </tbody>
</table>

产品ID
名称
短名
ProductNamePrefix
最小计数
添加产品
@foreach(模型中的var项目)
{
@DisplayFor(modelItem=>item.ProductId)
@DisplayFor(modelItem=>item.Name)
@DisplayFor(modelItem=>item.ShortName)
@Html.DisplayFor(modelItem=>item.ProductNamePrefix)
@TextBox(“MinCount”,item.MinimumCount,new{@class=“form control”+“”+item.ProductId})
@if(item.IfExists==true)
{
}
@if(item.IfExists==false)
{
}
}
我想将url操作方法中的文本框值传递给控制器。我正在基于textbox的id创建一个自定义类,但无法使用javascript或jQuery检索它

但我无法使用javascript或jQuery检索它

为什么不呢?是的

在缺少JavaScript的情况下,您不能仅通过一个链接来实现这一点。相反,您需要使用表单。因此,您必须将每个表行包装在
表单
元素中,并将链接替换为
input type=“submit”
。(当然,还可以根据需要设置样式。)这将把包含的表单元素(包括文本框)的值发布到表单的操作中

这确实有点难看,因为不能将
表单
包装在
tr
周围,所以必须嵌套结构。大概是这样的:

<table>
  <tr>
    <td>
      <form>
        <table><!-- Your 1-row table goes here --></table>
      </form>
    </td>
  </tr>
</table>


外部
tr
是对“表”的每一行重复的内容,因此每一行实际上是一个包含嵌套表的单个单元格,而嵌套表本身只有一行。就像我说的,有点难看。但是它完成了任务。

哪个文本框值?您的AddProduct是否有参数来接受它?它叫什么?它是MinimumCount文本框,是控制器接受这个参数。但它总是以null形式出现。您想要初始值还是更新值(用户可以编辑文本框值。rite)?你为什么不做表单发布?你的控制器动作是什么样子的?您需要在视图中设置一些模型,并且您的后期控制器操作需要接受它。