Mvc RenderPartial к искровому обзору - PullRequest
0 голосов
/ 24 февраля 2010

Извините, если есть другой вопрос, который охватывает это.

Вот моя проблема.

Я использую Html.RenderPartial, я также использую T4MVC.

<%Html.RenderPartial(MVC.Shared.Views.MainMenu, Model.Menu); %>

вид искры:

 <ul class="menu">
     <for each="var menuItem in Menu.ChildItems">
      <if condition="menuItem.ChildItems != null">
       <li class="drop">   
        <a href="${menuItem.Url}" alt="${menuItem.Tooltip}">${menuItem.DisplayText}</a>
        <span class="toggle">&nbsp;</span>
         <ul>
         <for each="var childItem in menuItem.ChildItems">
          <if condition="childItem.ApplicationName == @'Platform'">
           <li> 
            <a href="${childItem.Url}" alt="${childItem.Tooltip}">${childItem.DisplayText}</a>
           </li> 
          </if>
         </for>
         </ul>
       </li>
      </if>
      <else>
       <li>   
        <a href="${menuItem.Url}" alt="${menuItem.Tooltip}">${menuItem.DisplayText}</a>
       </li>
      </else> 
     </for>
    </ul>

Меню имеет ChildItems, но я получаю сообщение об ошибке. Ссылка на объект не установлена ​​на экземпляр объекта.

Menu.ChildItems имеет счет = 5

Трассировка стека

[NullReferenceException: Object reference not set to an instance of an object.]
   BackOffice.Controllers.Viewa0321bdb3ead4545be250290e6473518.RenderViewLevel0() +103
   BackOffice.Controllers.Viewa0321bdb3ead4545be250290e6473518.RenderView(TextWriter writer) +83
   Spark.Web.Mvc.SparkView.Render(ViewContext viewContext, TextWriter writer) in c:\Projects\spark\src\Spark.Web.Mvc\SparkView.cs:134
   System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, ViewEngineCollection viewEngineCollection) +319
   System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper htmlHelper, String partialViewName, Object model) +54
   ASP.views_centraldownload_listalldownloads_aspx.__RenderContent4(HtmlTextWriter __w, Control parameterContainer) in e:\Dev\Saffire\Platform\platform\src\BackOffice\Views\CentralDownload\ListAllDownloads.aspx:10
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in e:\Dev\Saffire\Platform\platform\src\BackOffice\Views\Shared\Site.Master:40
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +59
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Использовать следующие

#Html.RenderPartial(MVC.Shared.Views.MainMenu, Model.Menu);

Работает!

0 голосов
/ 25 февраля 2010

Не могли бы вы включить полный стек исключения null ref?

Путем отладки вы сможете точно определить, что вызывает исключение. Одна вещь, которую вы должны попробовать, это настроить отладчик так, чтобы он прерывался на все исключения (Ctrl-Alt-E вызывает это диалоговое окно), так что вы поймете, как это происходит. Это должно пройти долгий путь, чтобы найти корень проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...