gpt4 book ai didi

asp.net-mvc - 在 ASP .Net MVC Controller 中查看每个条件

转载 作者:行者123 更新时间:2023-12-02 06:45:15 25 4
gpt4 key购买 nike

我应该为 Controller 中的每个条件创建一个相关 View 吗?例如我有以下代码

public ActionResult List(){

List<Report> reports = getReport();
if(report.Count > 0){
//returning the normal view
return View();
}else{
//show the view for no reports
return View("NoReportAvailable");
}

}

或者我也可以只有一个 View (List.aspx)并在我的 View 中执行其他操作,如果报告为 0,则可能呈现部分 View “NoReportAvailablePartial”。

哪个更好,或者你们如何处理这种情况?

最佳答案

这取决于 View 包含的其他 HTML 或逻辑,但我倾向于遵循以下粗略规则:

  • 如果您发现您的 View 开始包含大量 if/else 逻辑,那么应该将其重构为单独的 View 并将逻辑置于 Controller 中。

  • 如果您的 View 除了 if 逻辑(即列表或“无可用报告”)之外不包含其他可重复的 HTML,那么我将分成 2 个 View 并将逻辑放在 Controller 中。例如。如果您使用的是包含其余 HTML 的母版页。我认为它更清楚了。

  • 如果您的页面包含大量 HTML,如果将 View 分开,这些 HTML 会重复,那么我会将 if 逻辑放在 View 中,并根据列表是否包含项目来呈现部分 View 。

我相信基本的显示逻辑(例如 if (report.Count > 0) {})在 View 中是可以的,但是您应该坚持 DRY 原则,并且您的 View 不应该被代码弄得乱七八糟。

关于asp.net-mvc - 在 ASP .Net MVC Controller 中查看每个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1374434/

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