2012-03-27 84 views
3

我正在研究一个大学项目,并试图在同一时间学习MVC3。我有一个购物篮样式页面,其中有一个显示项目的表格。该模型包含购买的产品列表。c#MVC3绑定IEnumerable模型到表

我可以通过循环显示产品在一个表格中显示,但是我需要实现一种方法来更新数量。我目前的数量显示在一个可以修改的HTML.TextBox中,但是当我改变它的值时,它在模型中没有这样表示。

请问有人能告诉我该怎么做。

谢谢。

+0

你有视图模型图层吗? – 2012-03-27 12:15:08

+0

我有一个控制器,然后是一些标准数据对象的模型。该功能是通过WCF层完成的。 – 2012-03-27 12:18:50

回答

0

要更新模型,您必须将编辑后的值发送回服务器。要在文本框中填充模型值,可以使用Html.EditorFor扩展方法,并传入指向数量属性的lambda表达式。您可以将购物车控件放置在HTML表单控件中,并使用“发布”操作和将更新模型的控制器路由目标。这些是Asp.Net MVC中非常基本的操作,您应该能够看到它是如何完成的www.asp.net/MVC

请在将问题发布到论坛中之前做一些研究。

+3

感谢您的回答,和谦逊;)我知道如何用一个单一的项目模型做到这一点。但是,在循环收集时,您无法执行EditorFor。我的问题是专门处理通过模型传递的IEnumerable对象。 – 2012-03-27 12:26:17

+0

您可以使用'code'foreach'code'构造来遍历模型,然后像绘制单个模型一样绘制每个项目。这里是一个例子,你将如何使用剃刀语法[链接](http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-web-programming-使用最剃刀语法)。 – 2012-03-27 14:00:10

+0

为什么不能在foreach循环中使用EditorFor?它应该工作。这里是关于Stackoverflow中该主题的相关问题。 [链接](http://stackoverflow.com/questions/1983999/how-to-use-editorfor-inside-a-foreach) – 2012-03-27 14:41:13