【问题标题】:Patterns for ASP.NET MVC views for Add/Edit records用于添加/编辑记录的 ASP.NET MVC 视图的模式
【发布时间】:2026-01-27 05:40:01
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc design-patterns ui-patterns


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      最近更新 更多