2014-02-28 57 views
0

网站在Visual Studio中工作,但在服务器上断开。获取错误:“System.NullReferenceException:未将对象引用设置为对象的实例。” 我已经重新发布了该项目,并且仍然出错。我从服务器上拉下文件,它仍然在我的机器上,但不在服务器上。会发生什么?网站在Visual Studio中工作,但不在服务器上

<div class="main"> 
<h2 class="queue_title">Queue</h2> 
@if (Model.Count > 0) 
{ 

<table class="inputTableLeft"> 
    <tr><th>Company</th><th>Category</th><th>Assigned Resource</th></tr> 
    <tr> 
     <td> 
      <select id="CompanySelect"> 
       <option value="0">All</option> 
       @foreach (var company in Model.GroupBy(r => r.Company)) 
       { 
        <option value="@company.First().Company">@company.First().Company</option> 
       } 
      </select> 
     </td> 
     <td> 
      <select id="CategorySelect"> 
       <option value="0">All</option> 
       @foreach (var category in Model.GroupBy(r => r.Category)) 
       { 
        <option value="@category.Key.Id">@category.Key.Name</option> 
       } 
      </select> 
     </td> 
     <td> 
      <select id="AssignedResource"> 
       <option value="0">All</option> 
       @foreach (var resource in Model.GroupBy(r => r.AssignedUserName)) 
<!--Breaking here:-->{ 
         <option value="@resource.First().AssignedADUser.FullName">@resource.First().AssignedADUser.FullName</option> 
        } 
      </select> 
     </td> 
    </tr> 
</table> 
<table class="inputTableRight"> 
    <tr> 
     <th>Incident/Ticket Number</th><th>RCA Number</th> 
    </tr> 
    <tr> 
     <td> 
      <input type="text" id="IncidentNumFilter" /> 
     </td> 
     <td> 
      <input type="text" id="RCANumFilter" /> 
     </td> 
    </tr> 
</table> 
<table id="QueueTable"> 
    <tr> 
    @foreach (var grp in Model.GroupBy(r => r.StatusId)) 
    { 
     <th> 
      @grp.First().Status.Name 
     </th> 
    } 
    </tr> 
    <tr> 
    @foreach (var grp in Model.GroupBy(r => r.StatusId)) 
    { 
     <td data-status="@grp.First().StatusId"> 
     @foreach (RCAModel rca in grp.OrderBy(r => r.CreateTime).OrderByDescending(r => r.Critical)) 
     { 
      <div data-rca="@rca.Id" data-company="@rca.Company" data-assigned="@rca.AssignedADUser.FullName" data-category="@rca.Category.Id" data-incident="@rca.TicketNumber" class="line @(rca.Critical ? "highlight_red" : "")"> 
       <a href="@Url.Action("EditRCA", new { id = rca.Id })" > 
        @rca.Id : Created - @rca.CreateTime @(rca.Critical ? Html.Label("expression", " - CRITICAL") : Html.Label("", "")) 
       </a> 
      </div> 

     } 
     </td> 
    }  
    </tr> 
</table> 
} 
else 
{ 
    @: No RCAs in queue 
} 
</div> 
+1

更多信息。你需要输入一些日志或类似的东西来找出是什么导致了错误或它发生了什么。 –

回答

2

你可能会在这条产业链从某处得到一个空值:

@resource.First().AssignedADUser.FullName 

添加一些记录和一些空的检查解决此代码,以弄清楚什么是零。

例如:这里需要

var firstRes = resource.First(); 
if (firstRes != null) 
{ 
    var user = firstRes.AssignedADUser 
    if (user != null) 
    { 
     // Do your normal work. 
    } 
    else 
    { 
     // Log a message here 
    } 
} 
else 
{ 
    // Log a message here 
} 
+0

谢谢约翰。这让我更接近解决方案。我在指定的地点以及下一个开始出错的位置应用了一些条件。它不再打破。现在我只需要找出不正确的定义。我会尽快更新解决它。再次感谢。 –

相关问题