Layofhan 2018-09-27 07:17 采纳率: 0%
浏览 346

拦截器的属性赋值问题

图片说明
![图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 05:44
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在ASP.NET MVC中,当你尝试将一个对象的属性设置为null时,你可能会遇到以下错误:

    Property 'User' does not exist on type 'TestContract'.
    

    这是因为UserTestContract类的一个字段,而不是一个实例变量。

    解决这个问题的方法是确保你在试图获取或设置属性之前,首先检查是否存在这个属性。例如,在你的控制器方法中添加一个try-catch块来捕获可能抛出的异常,并处理它们以避免未定义的属性错误:

    public ActionResult Te()
    {
        try
        {
            // ...
            if (_user != null)
            {
                _user.Name = "Big";
                _user.PassWord = "231sdf";
            }
            else
            {
                throw new Exception("User is null");
            }
    
            return TestContract.SearchA11Entity().ToMvcJson();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            return View("Error");
        }
    }
    

    在这个例子中,如果_user不是null,则会执行其他操作;否则,会抛出一个Exception并返回错误视图。

    请注意,这只是一个示例,实际应用中可能需要根据你的具体需求进行调整。

    评论

报告相同问题?