MVC 2模型没有得到文本框值

时间:2011-09-14 15:24:35

标签: asp.net-mvc-2

我正在使用MVC2,但我无法获得texbox的价值。

我的观看代码是:

<% for (int i=0;i<Model.Count();i++) { %>
<%:Html.HiddenFor(m => m[i].Quantity)%>
<%:Html.TextBoxFor(m => m[i].Quantity, new { @class = "quantity", @maxlength = "3", @size = "2" })%>
<%}%>

<input type="submit" value="Actualizar" name="update" class="btnUpdateCart" />

点击更新按钮会触发此功能:

[BrowserCache(PreventBrowserCaching = true)]
    public void UpdateCart(CartItem[] items)
      {
           Some code
      }

问题是此时我的CartItem []没有设置数量。我是这个技术新手,我确定我错过了一些非常愚蠢的东西......

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

确定 所以你需要看看这个(总是让我摆脱困境

public ActionResult SomeActionMethod(FormCollection formCollection)

FormCollection - &gt;将返回通过请求传递给控制器​​的任何字段的所有表单内容的集合,因此您可以将其挂起并查看传递的内容。

仍然没有回答你的问题让我们看看

//这一行会呈现带有某种值的隐藏字段(这是填写的吗?)

<%:Html.HiddenFor(m => m[i].Quantity)%>   

//为什么要为同一个字段渲染文本框?这将取隐藏字段中设置的值

<%:Html.TextBoxFor(m => m[i].Quantity, new { @class = "quantity", @maxlength = "3", @size = "2" })%>

所以我的答案是移除隐藏的字段,它应该工作......