我对此.Net Core完全感到困惑,并感谢您的帮助。
该网站与我的本地计算机完美配合。我正在使用完全相同的数据库和相同的代码。
但是当我将网站部署到托管公司服务器时。以某种方式继续获取 SqlNullValueException:数据为Null。无法在Null值上调用此方法或属性。
@model FeedbackViewModel
@if (Model.Feedbacks != null)
{
<p>Number of item = @Model.Feedbacks.Count()</p>
}
这是代码的非常简化的版本。 有谁知道为什么模型不为空,但是当我要求向我显示项目数时,由于空值异常而失败了吗?
public class FeedbackViewModel
{
public IEnumerable<FeedbackModel> Feedbacks { get; set; }
}
// CONTROLLER
return View(new FeedbackViewModel
{
Feedbacks = feedbackRepository.Feedbacks.Where(c => c.FeedbackStatus == true)
});
答案 0 :(得分:2)
将其创建为列表而不是IEnumerable,然后查看其是否固定。
public class FeedbackViewModel
{
public FeedbackViewModel(){
Feedbacks = new List<FeedbackModel>();
}
public List<FeedbackModel> Feedbacks { get; set; }
}
Feedbacks = feedbackRepository.Feedbacks.Where(c => c.FeedbackStatus == true).ToList();
答案 1 :(得分:1)
您应该在末尾添加ToList()
return View(new FeedbackViewModel
{
Feedbacks = feedbackRepository.Feedbacks.Where(c => c.FeedbackStatus == true).ToList()
});
答案 2 :(得分:0)
替换此
return View(new FeedbackViewModel
{
Feedbacks = feedbackRepository.Feedbacks.Where(c => c.FeedbackStatus == true)
});
使用
return View(new FeedbackViewModel
{
Feedbacks = feedbackRepository.Feedbacks.Where(c => c.FeedbackStatus == true).FirstOrDefault()
});