如何传递输入类型=”的值;“数字”;到Razor视图中的JS

如何传递输入类型=”的值;“数字”;到Razor视图中的JS,razor,asp.net-mvc-5,Razor,Asp.net Mvc 5,我有一个观点,这里有一个片段: @foreach(Model.Items.ToList()中的var item) { @DisplayFor(modelItem=>item.sLabel) @DisplayFor(modelItem=>item.Text) @DisplayFor(modeleItem=>item.OEMCode) 您也可以使用HTML帮助程序进行编号输入。类似如下: @Html.TextBoxFor(modelItem => modelItem.Quantity, new

我有一个观点,这里有一个片段:

@foreach(Model.Items.ToList()中的var item)
{
@DisplayFor(modelItem=>item.sLabel)
@DisplayFor(modelItem=>item.Text)
@DisplayFor(modeleItem=>item.OEMCode)

您也可以使用HTML帮助程序进行编号输入。类似如下:

@Html.TextBoxFor(modelItem => modelItem.Quantity, new {type = "number"})
然后,您应该能够像检索任何其他输入元素一样检索该值

这就是你想要的吗?还是你特别需要通过JS检索这个值

编辑:

在JS方法中,您可以检索所有值。此外,将其设置为后ajax调用,这样您就不必在
数据URL
中获取URL。您只需在ajax调用中添加参数。还可以在控制器操作方法上方添加
[HttpPost]
属性

$('.addProductToCartBtn')。单击(函数(事件){
var url=$(this.data('url');
var idVal=$('[name=“productIdCheckbox”]')。val();
变量qtyVal=$('#数量').val()
变量车={
sLabel:$('#…'),//不管您的选择器是什么
正文:$(“#…”),
OEMC代码:$(“#…”)
};
$.ajax({
url:url,
键入:“POST”,
数据:{cart:cart,id:idVal,qtyVal},
成功:函数(来自\u CartSummaryLine的结果){
//这里有些逻辑。。
}
});
});

});我没有提到这个输入有上下箭头,所以用户可以调整他想要添加到购物车的数量。所以我需要传递一个用户创建的值,而不是模型中的初始数量。我知道,它不像其他元素那样是模型的一部分。您可以通过JS检索它,如上图所示。谢谢,我使用了您的方法,它对我很有用。只是不明白我为什么要打电话。所以,我留下了一个GET callIt,它很可能可以作为GET call使用,但是一个POST更适合这种情况。无论何时将数据发送回服务器(如在保存某些数据时),都应该发布。GET将通过URL查询字符串传输数据,在处理复杂对象时,URL查询字符串可能会变得非常混乱,就像在您的情况下一样。
public PartialViewResult AddToCart(CartModel cart, int id, int qty)
{
    GetItemListProcedure_Result item = _itemRepository.GetItemByItemId(id).FirstOrDefault();
    if (item != null)
    {
        cart.AddItem(item, qty);
    }
    return PartialView("_CartSummaryLine", cart);
}
@Html.TextBoxFor(modelItem => modelItem.Quantity, new {type = "number"})