2012-03-27 109 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