最近我運行在一個奇怪的NullReferenceException。它偶爾會彈出,爲什麼它很難爲我調試。今天又發生了,我想現在修復它,我有錯誤。對象引用沒有設置,而SQL管理器說它是
我有以下設置:
相關代碼的asp.net觀點:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<WerkStageNu.Profiles>" %>
<%@ Import Namespace="WerkStageNu.Helpers" %>
<div class="listing">
<div class="content">
<h3><%=Html.ActionLink(Model.Persons.UserName, "Details", new { id = Model.ID })%></h3>
並運行這個它告訴我,Model.Persons爲空給下面的錯誤,而當模型本身加載了來自(SQL)數據庫的數據。我正在使用ADO.net實體。檢索配置文件而不是使用模型會導致相同的錯誤。
<%=Html.ActionLink(WerkStageNu.Models.Repository.Instance.GetProfileByID(Model.ID)
.Persons.UserName, "Details", new { id = Model.ID })%>
沒有做任何好處。
一些錯誤圖像:
debug mode http://www.bastijn.nl/zooi/model_persons.png
stack trace http://www.bastijn.nl/zooi/stacktrace.png
到目前爲止,這似乎是一個正常的錯誤,但是當我檢查我的數據庫請求背後,我發現這個字段填寫,而且鏈接是正確的。 SQL Manager屏幕顯示這樣的信息:
概況表:
profiles DB http://www.bastijn.nl/zooi/profiles_sql.png
個人表:
persons DB http://www.bastijn.nl/zooi/persons_sql.png
正如人們所看到的所有PersonIDs被設置成通常的所有鏈接應該加載?有時候情況就是這樣,但是有時候這個空引用會從不知所云的地方彈出來。我忘記了什麼嗎?我應該手動加載一些東西?
//編輯
我注意到
<%Model.PersonsReference.Load(); Model.EmploymentsReference.Load(); %> 解決了這個問題,問題是爲什麼我在這裏需要它,而不是在我的其他觀點中使用相同的方法?
看起來很像它,謝謝你的鏈接,沒有看到那個。 – bastijn 2009-12-08 10:42:25