2016-01-25 117 views
1

我有一个ASP.Net MVC网站,我想通过URL Action将文本框的值从视图传递给控制器​​。如何将TextBox值传递给MVC剃须刀中的URL.Action?

下面是我的代码,

<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> 

我想通过在URL操作方法的文本框的值到控制器。我正在创建一个基于id的文本框的自定义类,但我无法使用javascript或jQuery检索它。

+0

哪个文本框的值?你的AddProduct有一个参数来接受它吗?这叫什么 ? – Shyju

+0

它是MinimumCount文本框,是控制器接受这个参数。但它始终是空的。 – Arpita

+2

你想要初始值或更新值(用户可以编辑文本框的值。rite)?你为什么不做表格帖子? – Shyju

回答

3

,但我使用JavaScript或jQuery的

为什么不我不能找回?这是pretty simple

在没有JavaScript的情况下,您无法仅通过链接进行操作。相反,你需要使用一个表单。因此,您必须将每个表格行包装在form元素中,并用input type="submit"替换您的链接。 (当然,根据您的需要进行设计。)这会将包含的表单元素(包括文本框)的值发布到表单的操作。

这并获得一点丑陋的,因为你不能换一个form一个tr身边,所以你必须你的结构。事情是这样的:

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

tr就是重复你的“表”的每一行得到,所以每一行实际上是含有本身只有一行嵌套表的单个单元格。正如我所说,有点难看。但它完成了工作。

相关问题