gpt4 book ai didi

asp.net-mvc-3 - "separated" View 应该如何?

转载 作者:行者123 更新时间:2023-12-04 14:17:50 25 4
gpt4 key购买 nike

我知道一个 View 应该只显示内容,并且在显示信息所需的内容之外没有逻辑本身。

记住这一点,处理这种简单场景的最佳方法是什么:

  • 用户点击删除项目
  • 如果该项目仍与其他人相关联,则显示“您无法删除此项目”。
  • 否则,显示一个确认表单,该表单发布到操作/Delete/Id

  • 我可以很容易地在 View 中执行以下操作:
    @if (Model.Children.Count > 0)
    {
    <p>
    You can't delete this!
    </p>
    }
    else
    {
    using (Html.BeginForm())
    {
    <p>
    Are you really sure you want to delete this?
    </p>
    <p>
    <input type="submit" value="Confirm" /> |
    @Html.ActionLink("Cancel", "Index")
    </p>
    }
    }

    是否有令人信服的理由制作两个 View 并让 Controller 根据有多少 child 返回适当的 View ?似乎是简单性和关注点分离的权衡。

    最佳答案

    这是一个非常简单的例子,所以乍一看它似乎是无害的(如果它保持这种状态,它肯定是无害的)。但是,请记住以下因素:

  • 如果它变得不仅仅是 child 怎么办?也许随着时间的推移会出现另外三个关系,现在您需要在您的 View 中检查所有这些关系?突然间,代码的味道更浓了。
  • 将这种类型的逻辑放在 Controller 中可能会使以后解决问题的其他方法更明显或更容易,例如,添加一个 ajax 版本,让您可以在不离开上一页的情况下向用户提供“您无法删除此”反馈。
  • 关于asp.net-mvc-3 - "separated" View 应该如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932120/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com