我想交换/分享程序员在设计屏幕视图时可以应用的一些设计模式,以前可以为具有外键的实体向数据库添加和编辑记录。
根据我的经验,我经常使用几种方法:
在第一种情况下,模式非常简单。假设您拥有Customer
和Store
个实体,其中客户可以拥有多个商店。然后程序员可以在客户详细信息页面中添加一个“添加商店”按钮,该按钮将在服务器上调用GET操作,该操作返回已设置客户的默认填充商店。例如:
[HttpGet]
public ActionResult CreateStore( int customerID ) {
return View( new StoreViewModel() { CustomerID = customerID } );
}
[HttpPost]
public ActionResult SaveStore( StoreViewModel store ) {
[...save store here...]
}
虽然这很容易实现,但它需要程序员编写许多动作方法和视图,这些方法和视图可以比这个例子更好地设计。
我想知道您的体验中是否还有其他模式。此外,如果有任何链接/书籍需要阅读以进一步探讨此主题。
答案 0 :(得分:1)
我真的建议您查看REST模式和RestfulRouting库。
将商店和客户视为资源。您最终会为每种资源提供两套方法。
您可以使用RespondTo
方法根据内容类型返回响应。因此,如果是ajax请求,您可以使用json进行回复,如果是标准查询,则可以使用html进行回复。
因此,当您为客户创建多个商店(从客户页面)时,您可以使用ajax。当您从标准方式(从商店页面)创建商店时,您将使用相同的方法。
它非常有用且广泛传播。它在Rails中默认使用。