2010-03-04 56 views
0

問題:使用ASp.NET MVC進行報告。ASP.NET MVC - 邏輯上如何構建報表部分的問題

鑑於: 1.一個報表是輸出表格,所以它可以用一個類(靜態字段列表)來表示easiyl。 2.一個包含halfa十個或更多可能適用於數據的條件的過濾器掩碼。

MVC文件佈局的方法如何?

  1. 我想說一個控制器的完整報告。
  2. 但是模型的外觀如何?一個包含所有過濾器條件的屬性(或:每個過濾器條件的屬性),一個包含結果枚舉的屬性?

我也願意當搜索參數的變化做一個重定向並願意看到的參數作爲參數(即/報告/資產結束URL?從= ... &爲了= ... ),因此用戶可以爲特定的收藏報告添加書籤或通過電子郵件發送URL

怎麼辦?我有一個ASP.NET LON gbackground,但不知何故MVC我摸不透;)

回答

1

的思考,而不是答案:

在MVC的理想是要發送到的觀點非常簡單,只是將數據由呈現如果這是你的基本模型的東西,那麼,如果它的視圖(或一組視圖)特定的東西很好地工作,那麼這就是你所做的。

儘可能地,您不希望您的視圖中使用決策邏輯 - 並且如果決策邏輯確實應該關注如何呈現特定元素,那麼最簡單的報告模型就是數據行(IEnumerable的東西)和視圖只是一個foreach。

然後,這使得控制器的工作之一是構建查詢並將其傳遞給視圖並將其傳遞給視圖。

起初,我認爲你可以代替未經過濾的數據和過濾器傳遞給視圖,然後你還在做一個foreach但附有過濾器的原始數據......但是在經歷過這個工作我的方式慢慢的這遠不及整齊。

監守所有過濾邏輯控制器(視圖只輸出查詢結果),你幾乎可以做你想要的網址是什麼 - 你的看法或者是報告特定或者你可以有一個更一般的看法並傳遞列類型/標題/格式數據以及行數據其他人應評論的可行性...

+0

不知道多麼相關的答案是 - 該觀點對我來說沒有邏輯。實際上有多個視圖 - 有和沒有部分用於編輯過濾器(有些沒有用於導出的編輯器)。 我永遠不會傳遞未經過濾的數據 - 數據是從jdbc服務器中提取的,並且來自C++實現的存儲過程,並獲取過濾器參數,然後創建結果表。 我的主要問題不在於關注視圖,而在於控制器/模型部分。模型應該有過濾條件的子模型嗎? – TomTom 2010-03-04 13:36:27

+0

是的,我認爲肯定應該有一個過濾條件的模型。 – Murph 2010-03-05 09:50:42