【发布时间】:2013-08-18 19:23:18
【问题描述】:
我有一个与显示购物项目的项目模型相关联的视图。我想添加一个数量文本字段并将 itemID 和数量提交给控制器。我正在使用 AJAX 表单。
AJAX 形式:
@using (Ajax.BeginForm("AddToCart", "PizzaBasket",
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "GET",
OnFailure = "searchFailed",
LoadingElementId = "ajax-loader",
UpdateTargetId = "basketSummary",
}))
{
@Html.HiddenFor(id => id.ItemId, new { @class = "id" })
<input type="hidden" name="id" class="id")/>
<label for="quantity">Quantity</label>
<input type="text" name="quantity" size="5"/>
<input type="submit" value="Add to Cart" />
<img id="ajax-loader" src="@Url.Content("~/Content/Images/ajax-loader.gif")" style="display:none"/>
}
控制器动作:
public ActionResult AddToCart(String id, String quantity) {
/*Add to cart*/
return RedirectToAction("Index");
}
但是,没有提交 id 值。需要了解如何将 id 值从 AJAX 表单传递给控制器。请注意,在同一个文件中 @Model.itemId 工作正常。
【问题讨论】:
-
最确定的问题是您的隐藏 id 标记中有一个“)”,这会使您的 html 标记无效,最终结果与隐藏的标记从未存在一样:)
标签: asp.net-mvc razor