簡體   English   中英

行政科設計決定

[英]Administration section design decision

我正在編寫Web應用程序的管理組件。 管理任務涉及對復雜對象的CRUD操作。

該對象具有許多部分,每個部分具有許多類別,每個類別具有許多子類別。

管理員應該能夠在任何級別上對對象進行更改。 例如,添加/編輯/刪除部分,類別或子類別。

我正在使用MVC3,並發現了制作前端的三種可能的解決方案。

  1. 使用Razor View引擎
  2. 使用jQuery模板插件列出項目,並使用JQuery UI對話框創建/編輯屏幕。
  3. 使用jQrid在父/子網格中顯示數據,並且jQgrid提供內置的創建/編輯/刪除操作。

我在決定哪種方法最好時遇到了麻煩,請問有人可以幫忙嗎?

這是一個相當廣泛的問題,有幾個人可能會因為主觀性而引用它,但是在設計中有許多考慮因素可能會讓您傾向於一個或另一個決策。

Razor視圖引擎使您可以在服務器腳本方面使UI非常輕巧,但仍然可以讓您在服務器端進行很多繁重的工作(尤其是圍繞數據綁定)。 就您的jQuery和CSS而言,可能需要較少的前端編碼。

jQuery模板是下一步。 它們仍然在應用程序邏輯和表示之間保持合理程度的解耦,但是與可能需要的JsonResult調用相比,它們仍然需要更多的前端編碼,這可能仍然需要更多的JsonResult調用來支持。 根據公開數據的方式,您可能會發現,使用jQuery模板在UI和呈現方面提供的靈活性比您以前擁有的靈活性更大。

jQGrid並不是真正為管理子實體(對象)的這種嵌套程度而設計的。 它當然可以工作,但是可能比您似乎想在這里使用的更適合更干凈的數據數組。 如果您采用這種設計路線,我建議您可能會打開一個痛苦的世界。

因此,總而言之-在沒有更多細節可用的情況下-根據您的UI需求,我建議您考慮的前兩個選項之一。

在我看來,您所描述的樹方式之間的選擇應取決於另外兩個方面:1)您在所有技術中的專有技術,以及2)時間和舒適度因素。 您是否需要更快捷,更骯臟的解決方案,或者總體上想定義后端? 對您而言重要的時間因素越多,您越應該主要根據當前的專業知識來做出選擇。

我可以建議您一種我個人更喜歡的方式。 我喜歡將數據和業務界面與網站上的數據可視化清晰地分開。 因此,我設計了具有用戶身份驗證和授權的RESTful WFC服務,該服務實現了網站的整個業務邏輯。 我將WCF服務發布為我的網站的一部分(有關詳細信息,請參見此處 )。 如果需要,可以編寫單元測試以測試WCF服務作為站點的核心。

獲得WCF服務后,您可以選擇網站的演示文稿部分。 我個人知道並且喜歡jqGrid。 它具有許多功能,使您可以在網站上創建非常舒適的GUI。 管理組件的網格可以同時具有工具欄搜索和高級搜索。 可以很容易地實現按列排序,調整網格列的大小,通過拖放進行重新排序,隱藏不需要的列等。 用於高級搜索或/和工具欄搜索的數據過濾將花費更多時間在服務器上進行編程,但是您可以在所有網格中使用此功能。 重要的是,要能夠使用服務器端分頁和過濾,應使用具有有關分頁,排序和過濾信息的方法擴展Web服務的接口。

如果您決定使用jqGrid,則您的MVC視圖最多可以包含空表,並且每個網格可以包含一個JavaScript。 JavaScript將使用調用WCF服務的jqGrid來填充網格。 在ASP.NET MVC中,您通常可以構造菜單和工作流,這些菜單和工作流可以取決於用戶(取決於站點上的用戶權限)。

因此,我認為您應該根據自己的要求,所有技術的專業知識,時間因素以及對現場的舒適性要求自行做出選擇。 在所有情況下,您都需要決定如何設計網站以顯示和修改所有類別,子類別以及其他層次和從屬對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM