我正在制作一个应用程序,用户可以在其中进行测验。以下是测验类的示例模型:
[Table("Quizzes")]
public class Quiz
{
public int Id { get; set; }
public string Name { get; set; }
public User CreatedBy { get; set; }
}
到目前为止,“User”类只定义了一个 Id 和 UserName:
[Table("Users")]
public class User
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
在我的视图中,我想显示测验列表及其创建的用户。以下是执行此操作的视图部分:
@foreach(var item in Model)
{
<div>@item.Name</div>
<div>@item.CreatedBy.UserName</div>
<hr />
}
当我去运行程序时,我得到一个错误:对象引用未设置为对象的实例。
我知道我做错了一些非常简单的事情,但我不能把我的拇指放在上面,而且我无法在其他地方找到解决我的问题的方法。任何人都可以帮忙吗?
更新:
这是完整的错误:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and where
it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an
instance of an object.
Source Error:
Line 25: {
Line 26: <div>@item.Name</div>
Line 27: <div>@item.CreatedBy.UserName</div>
Line 28: <hr />
Line 29: }
Source File: \Views\Home\Index.cshtml Line: 27
控制器:
public class HomeController : Controller
{
YouGotQuizzedDb _db = new YouGotQuizzedDb();
public ActionResult Index()
{
var model = _db.Quizzes.ToList();
return View(model);
}
}