【问题标题】:Do we really need to different views for Add and Edit in ASP.Net MVC?我们真的需要在 ASP.Net MVC 中添加和编辑不同的视图吗?
【发布时间】:2020-06-14 00:16:48
【问题描述】:

为什么我们在 ASP.NET MVC 中有两个不同的视图用于添加和编辑? 这样做有什么好处?知道这会使我们在视图中有重复的代码吗? 将两个视图合并到一个视图中是否违反了 ASP.NET MVC 的标准?

【问题讨论】:

  • 你不需要有两个不同的视图。默认的模板/脚手架工具可能会默认执行此操作,但这当然不是必需的。您可以在应用程序中编写您喜欢的任何逻辑。

标签: asp.net asp.net-mvc-4 asp.net-mvc-3 model-view-controller


【解决方案1】:

它们是提供的默认值,可让您使用 CRUD 应用程序快速启动和运行。没有必要,也没有违反惯例在同一页面上完成。

如果您追求快速简单的东西,代码脚手架很棒,但很快就会变得笨拙。

如果它不是你需要的或者它太基本,只需编写你自己的动作/视图。

【讨论】:

    【解决方案2】:

    我已经为合并保存了许多书面代码,即使它工作正常,如果您在单个视图中合并编辑和创建视图。 只要确保你需要记住一些重要的事情。

    1. PrimaryKey ID 始终保留在隐藏文本框字段中。 (这对于识别这个表单很有用是编辑模式或创建模式)

    2. 最好有一些单一表单的控制器,您不需要为单一表单回发编写另一个控制器。

    3. 其中一个关键过程是在创建和编辑服务之前检查 if(string.IsNullOrWhiteSpace(model.id))。

    这里是分离控制器的代码。

    public  void CreateAndEditEmployee(Employee model)
    {
        if (string.IsNullOrWhiteSpace(model.EmployeeId))
        {
            // Create Employee Mode
        }
        else
        {
            // Edit Employee Mode
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-06
      • 2018-02-02
      • 1970-01-01
      相关资源
      最近更新 更多