asp.net-mvc-3 - MVC3 Razor : how to check if model is empty

标签 asp.net-mvc-3 razor

我尝试使用 !Model.Any() 它不起作用,因为模型没有扩展名 Any。怎么解决? 这是我的代码片段。

    @model MyModel.Work
    @if ( !Model.Any() )
    {
       <script type="text/javascript">
             alert("Model empty");
       </script>
    }
    else
    {
       <script type="text/javascript">
              alert("Model exists");
       </script>
    }

最佳答案

在我看来,您正在实例化模型,但想检查它是否已填充。

我执行此操作的标准方法是创建一个名为 Emptybool 属性,仅给出 get,然后返回您需要的检查以查看是否没有其他属性已设置。

假设您有一个 Customer 类作为模型:

public class Customer
{
    public int CustomerId {get;set;}
    public string FirstName {get;set;}
    public string LastName {get;set;}
    public string Email {get;set;}

    public bool Empty
    {
        get { return (CustomerId == 0 && 
                      string.IsNullOrWhiteSpace(FirstName) &&
                      string.IsNullOrWhiteSpace(LastName) &&
                      string.IsNullOrWhiteSpace(Email));         
            }
    }
}

现在在您的模型中,您只需调用:

@model MyModel.Work
@if (Model.Empty)
{
   <script type="text/javascript">
         alert("Model empty");
   </script>
}
else
{
   <script type="text/javascript">
          alert("Model exists");
   </script>
}

关于asp.net-mvc-3 - MVC3 Razor : how to check if model is empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8448778/

相关文章:

asp.net-mvc-3 - ASP.NET Web Api - 从查询字符串值和 API 安全性授权

asp.net-mvc - 默认情况下 ASP.NET MVC 4 是否需要额外的 XSS 处理

asp.net-mvc - 如何将带连字符和冒号的属性添加到 Razor 中的 Html Helper 方法? (vuejs 语法)

asp.net-mvc - “个人”是一种类型,在给定上下文中无效

c# - 如何在 Javascript 中使用模型?

c# - 如何让 Razor 从模板服务中的另一个程序集中查找 View

c# - OutputCache - 指定要缓存的内容

asp.net - MVC 中数据库交互/业务逻辑发生在哪里?

Jquery 多选会减慢 1300 条记录

asp.net-mvc-3 - MVC3 项目_Layout 中的 User.Identity.Name 返回错误的用户