2010-01-12 36 views
2

我在MVC中創建基於Web的問卷,其中問題是從CSV文件生成的。格式是每頁一個問題。我不想每次用戶轉到下一個問題時解析CSV文件,但在調查問卷開始時解析一次。目前,在控制器的構造函數中解析CSV文件,並且有一種方法可以返回帶有下一個/上一個問題的視圖。在ASP中的頁面請求之間存儲解析的CSV文件中的數據MVC

解決這個問題的最佳方式是什麼,以便CSV文件只需要解析一次?

我對動態網站的製作比較新,所以任何幫助都將不勝感激。

謝謝

+0

你有沒有想過緩存解析的CSV文件? – Kane 2010-01-12 10:45:08

+0

http://wiki.asp.net/page.aspx/655/caching-in-aspnet/ – harryovers 2010-01-12 10:52:05

回答

2

在開始時:你應該

  1. 解析CSV文件
  2. 創建問題前的列表:List<Question>
  3. 保存收集到Session對象

然後,當用戶接聽某些問題你應該簡單地

  1. 從Session中獲取問題對象
  2. 填寫答案ex questions [x] .Answer = 1;
  3. 保存回會話

在最後你可以通過回答問題的集合進行迭代,並保存答案,數據庫等

0

我不認爲,你可以堅持所有的問題在控制器的構造函數。

即使您正在嘗試使用靜態字典數據結構來解決所有問題,請鍵入問題編號。一旦返回ActionResult,控制器就會被丟棄。

嘗試在控制器的構造函數中有一個斷點,並且每次單擊prev/next鏈接時都會觸發它。這意味着,每當發出Http請求時,控制器就會被實例化。

+0

這實際上並沒有回答 – harryovers 2010-01-12 11:00:40

+0

這個問題,我的意思是CSV不能一次解析並持續存在所有的問題。 – vijaysylvester 2010-01-12 11:26:31

+0

這是問題的關鍵,我認爲你沒有正確閱讀 – harryovers 2010-01-12 12:02:03

0

解析csv文件,並將其存儲在數據庫中。

相關問題