Нулевой указатель-исключение (FunctionTypeList.ascx) Модуль-плагин Composer для EPiServer

Я установил Composer-модуль для EPiServer на сайт EPiServer CMS 6 R2, развернутый на IIS 7. Я настроил web.config в соответствии с инструкциями. Я могу просматривать страницу в режиме редактирования Composer.

Я получаю следующую ошибку, когда пытаюсь получить доступ к плагину Composer в режиме администратора (который используется для регистрации блоков Composer).

Как мне решить эту проблему?: Ошибка сервера в приложении '/'. В экземпляре объекта не задана ссылка на объект. Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 60:                             <ItemTemplate>
Line 61:                                 <nobr>  
Line 62:                                    <asp:Label ID="Label1" runat="server" 
Line 63:                                         ToolTip ='<%#DataBinder.Eval(Container.DataItem, "Description")%>'
Line 64:                                         Text = '<%# Utils.TrimDescription(DataBinder.Eval(Container.DataItem, "Description").ToString(),20).ToHtmlEncoded()%>'/>         


Source File: c:\EPiServer\Sites\Skien\Dropit\Plugin\Extension\UI\Admin\Controls\FunctionTypeList.ascx    Line: 62

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
   ASP.dropit_plugin_extension_ui_admin_controls_functiontypelist_ascx.__DataBinding__control19(Object sender, EventArgs e) in c:\EPiServer\Sites\Skien\Dropit\Plugin\Extension\UI\Admin\Controls\FunctionTypeList.ascx:62
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +303
   System.Web.UI.Control.DataBindChildren() +12659735
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
   System.Web.UI.Control.DataBindChildren() +12659735
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
   System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState, Boolean dataBind, Object dataItem, DataControlField[] fields, TableRowCollection rows, PagedDataSource pagedDataSource) +295
   System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) +4780
   System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +95
   System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable data) +19
   System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +222
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +313
   System.Web.UI.Control.DataBindChildren() +12659735
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
   System.Web.UI.Control.DataBindChildren() +12659735
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
   System.Web.UI.Control.DataBindChildren() +12659735
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
   System.Web.UI.Control.DataBindChildren() +12659735
   System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +321
   Dropit.Extension.UI.Admin.Controls.FunctionTypeList.DataBind() +646
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929 

person Anders Branderud    schedule 20.02.2013    source источник


Ответы (1)


Этот сообщение Мари Йоргенсен описывает ту же проблему с некоторыми другими элементами управления в Composer.

В основном EPiServer возвращает пустую строку, если описание не установлено, а PageTypeBuilder возвращает значение null.

Решение состоит в том, чтобы изменить строку кода, чтобы она возвращала string.Empty, если Description имеет значение null:

<%# Utils.TrimDescription(DataBinder.Eval(Container.DataItem, "Description") as string ?? String.Empty,20).ToHtmlEncoded()%>'/>
person cjsharp1    schedule 20.02.2013