2015-04-18 84 views
2

我想交換/共享程序員在設計屏幕視圖時可以應用的一些設計模式,該視圖以前可以爲具有數據庫的實體添加和編輯記錄外鍵。用於添加/編輯記錄的ASP.NET MVC視圖的模式

從我的經驗,我經常應用兩個方法:

  • 用戶通過選擇從父視圖添加子添加子記錄
  • 用戶通過選擇父關係添加子記錄直接在創建/編輯頁面

在第一種情況下,模式非常簡單。假設您有CustomerStore實體,客戶可以擁有很多商店。然後,程序員可以在客戶詳細信息頁面添加一個按鈕「添加存儲」,該按鈕將在服務器上調用GET操作,該操作返回已設置客戶的默認填充存儲。例如:

[HttpGet] 
public ActionResult CreateStore(int customerID) { 
    return View(new StoreViewModel() { CustomerID = customerID }); 
} 

[HttpPost] 
public ActionResult SaveStore(StoreViewModel store) { 
    [...save store here...] 
} 

雖然這是很容易實現,它需要程序員代碼中的許多操作方法和視圖可以設計一點點比這個例子更好。

我想知道在您的體驗中是否有其他模式。此外,如果有任何鏈接/書籍閱讀,以進一步探討這個話題。

回答

1

我真的推薦看看REST模式和RestfulRouting庫。

將商店和客戶視爲資源。每個資源最終都會有兩套方法。

您可以利用RespondTo方法根據內容類型返回響應。因此,如果使用標準查詢,您可以在發出ajax請求時使用json進行回覆,並使用html進行回覆。

因此,當您爲客戶(從客戶頁面)創建多個商店時,您可以使用ajax。當您從標準方式(從商店頁面)創建商店時,您將使用相同的方法。

這是非常有用和廣泛傳播。它在Rails中默認使用。