2009-07-23 31 views
3

我的MVCContrib網格的內容來自強類型視圖上的模型。發佈帖子時,網格內容在返回控制器時不在模型對象中。我可以看到這是因爲網格呈現爲單元格中帶有文本的表格。有什麼我可以做的,以便發佈帖子時,我發送到網格的列表數據回到帖子中?MVCContrib網格並使用模型綁定器回發

回答

2

您可以使用TempData來堅持這個信息服務器端。 TempData中的信息將持續一個請求。然而,我不太喜歡這個選項。

你不能從db重新填充模型嗎?如果用戶不更改信息,爲什麼您需要回發所有相同的未更改信息?只需從之前拿到的地方再次抓住它。

+0

你說得對。這是一個選項。在我看來,我應該至少能夠將模型恢復到我發送它的狀態。但是這就是表單提交的內容,而mvccontrib不會呈現「表單」控件。 – jlembke 2009-07-24 05:18:47

1

如果您想在模型序列化成網格時重新創建模型,您必須在網格內(或者在網格外)嵌入正確命名的表單元素,並且在包含按鈕發回到您希望重新創建模型的操作。

雖然這是可行的,但實質上是重新創建了__VIEWSTATE,並且使用MVC帶來了很多樂趣(閱讀「這是一個醜陋的黑客,你應該卸載你的IDE甚至想它」)。

如果您沒有更好地理解您嘗試解決的情況,很難指出您正確的方向。在這些情況下,通常的流程是 獲取模型

  1. 生成頁面
  2. 記錄的頁面
  3. 任何更改模型在 形式提交變更訴訟
  4. 得到再次模型
  5. 使用TryUpdate堅持從崗位的變化 到模型

如果您遇到性能問題(您已證明您的perf性能問題正確嗎?你不是過早優化?),將它們放在它們出現的地方(即緩存你的數據訪問),而不是按照它本來不應該的方式來彎​​曲MVC。