Asp.net MVC获取视图中的文本框值

本文关键字:文本 视图 net MVC 获取 Asp | 更新日期: 2023-09-27 18:26:04

所以我有一个输入框

<input type='text' name='quantity' value='1'/>

我如何获取它的价值?

@Html.ActionLink("Add to cart", "AddToCart", "ShoppingCart", new { id = Model.ProductID, quantity = IWANTTHEVALUEHERE } "")

谢谢。

Asp.net MVC获取视图中的文本框值

试试这个:

<input type='text' id='qty' name='quantity' value='1'/>
@Html.ActionLink("Add to cart", "AddToCart", "ShoppingCart", new { id = "link" })

并将其添加到您的javascript:中

$('#link').click(function () {
  var id = '@Model.ProductID';
  var quantity = $('#qty').val(); 
  window.location = '@Url.Action("Action", "Controller")?id=' + id + '&quantity=' + quantity;
})

@Html.ActionLink在将链接发送到浏览器之前,在服务器上生成链接的html。由于quantity的值可以在浏览器中更改,因此需要使用javascript/jquery来更新链接href属性。

查看

<input type='text' id="quantity" name='quantity'> // give it an id
// no point adding route parameters yet since they will be changed on the client
@Html.ActionLink("Add to cart", "AddToCart", "ShoppingCart", null, new { id = "myLink" })

脚本(使您包含jquery.js文件)

$('#myLink').click(function (e) {
  e.peventDefault(); // stop default redirect
  var id = '@Model.ProductID';
  var quantity = $('#quantity').val(); // get the quantity from the textbox
  var href = $(this).attr('href'); //  get current href value
  href = href + '?id=' + id + '&quantity=' + quantity; // update with parameters
  window.location.href = href; // redirect
})

您可以获得发送到控制器操作的值,如thi:

控制器动作:

public class CartController {
   // controller action
   [HttpGet]
   public void addToCart(string item, int quantity)
   {
      return "Your cart now contains: " + quantity + " " + itemName;
      // You may do something else
   }
}

视图:

<form method="GET" action="/Cart/addToCart">
   <input type='text' name="item" value='apple'>
   <input type='text' name="quantity" value="1">
   <input type="submit" value="Add to Cart">
</form>

输出:

"Your cart now contains 1 apple."

表单将通过GET将数据提交到"/Cart/addToCart"您的浏览器将链接到类似以下内容:"http://Cart/addToCart/?item=apple&quantity=1"