2

我想交换/分享程序员在设计屏幕视图时可以应用的一些设计模式,这些设计模式以前可以为具有外键的实体向数据库添加和编辑记录。

根据我的经验,我经常应用几种方法:

  • 用户通过从父视图中选择添加子项来添加子记录
  • 用户通过直接在创建/编辑页面中选择父关系来添加子记录

在第一种情况下,模式非常简单。假设您有一个客户可以拥有许多商店的实体CustomerStore然后,程序员可以在客户详细信息页面中添加一个“添加商店”按钮,该按钮将在服务器上调用一个 GET 操作,该操作返回一个已设置客户的默认填充商店。例如:

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

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

虽然这很容易实现,但它需要程序员编写许多操作方法和视图,这些操作方法和视图可以设计得比这个例子好一点。

我想知道您在经验中是否使用了任何其他模式。此外,如果有任何链接/书籍可供阅读以进一步探索该主题。

4

1 回答 1

1

我真的建议看看 REST 模式和RestfulRouting库。

将商店和客户视为资源。您最终将为每个资源提供两组方法。

您可以RespondTo根据内容类型利用方法返回响应。因此,您可以在 ajax 请求的情况下使用 json 回复,在标准查询的情况下使用 html 回复。

因此,当您为客户(从客户页面)创建多个商店时,您可以只使用 ajax。当您从标准方式(从商店页面)创建商店时,您将使用相同的方法。

它非常有用且广泛传播。在 Rails 中默认使用它。

于 2015-04-19T05:27:05.370 回答