Asp.net mvc 2 ASP.NET MVC 2中控制器之间拆分操作的正确方法

Asp.net mvc 2 ASP.NET MVC 2中控制器之间拆分操作的正确方法,asp.net-mvc-2,Asp.net Mvc 2,这个问题不是关于代码,至少不是关于给出错误的代码。我问这个问题是为了知道在ASP.NET MVC2中实现模式的正确方法 假设我有一个联系人对象,其中包含一个EmailAddress对象的集合。在我的ContactController中,我定期执行从底层存储创建/编辑/删除联系人的操作。在我的索引视图(呈现所有联系人)中,当在列表中选择联系人时,我有一个链接,上面写着“添加电子邮件” 现在,我至少有两种方法来实施这一行动: 在ContactController内部添加AddEmailAddress

这个问题不是关于代码,至少不是关于给出错误的代码。我问这个问题是为了知道在ASP.NET MVC2中实现模式的正确方法

假设我有一个联系人对象,其中包含一个EmailAddress对象的集合。在我的ContactController中,我定期执行从底层存储创建/编辑/删除联系人的操作。在我的索引视图(呈现所有联系人)中,当在列表中选择联系人时,我有一个链接,上面写着“添加电子邮件”

现在,我至少有两种方法来实施这一行动:

  • 在ContactController内部添加AddEmailAddress操作,该操作使用ContactID属性预填充EmailAddress模型对象并呈现视图
  • 与步骤1相同,但不是呈现视图,而是将此作业委托给EmailAddressController类
  • 处理这种模式的正确方法是什么

    提前谢谢

    我更喜欢#1。除非有一个大的需要与电子邮件单独工作的联系环境之外,他们去,我认为这是一种方式

    但如果你要在屏幕上列出电子邮件、删除电子邮件、创建电子邮件、编辑电子邮件等等,那么拥有自己的控制器会更有意义。在这种情况下,我会让超链接浏览到电子邮件控制器,并在URL中使用联系人id作为参数创建操作。

    我更喜欢#1。除非有一个大的需要与电子邮件单独工作的联系环境之外,他们去,我认为这是一种方式


    但如果你要在屏幕上列出电子邮件、删除电子邮件、创建电子邮件、编辑电子邮件等等,那么拥有自己的控制器会更有意义。在这种情况下,我会让超链接浏览到电子邮件控制器,并在URL中使用联系人id作为参数创建操作。

    你说得对。我有支持电子邮件处理的要求,所以我选择了第二种方式。谢谢你的意见!你说得对。我有支持电子邮件处理的要求,所以我选择了第二种方式。谢谢你的意见!