0

IIS 7 にデプロイされた EPiServer CMS 6 R2 サイトに EPiServer の Composer モジュールをインストールしました。指示に従って web.config を構成しました。「Composer 編集」モードでページを表示できます。

管理者モード (Composer ブロックの登録に使用される) で Composer プラグインにアクセスしようとすると、次のエラーが発生します。

これを解決するにはどうすればよいですか?: '/' アプリケーションでサーバー エラーが発生しました。オブジェクト参照がオブジェクト インスタンスに設定されていません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

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 
4

1 に答える 1

1

Mari Jørgensen によるこの投稿では、Composer の他のいくつかのコントロールに関する同じ問題について説明しています。

基本的に、説明が設定されていない場合、EPiServer は空の文字列を返しますが、PageTypeBuilder は null を返します。

string.Empty解決策は、Description が null の場合に返されるようにコード行を変更することです。

<%# Utils.TrimDescription(DataBinder.Eval(Container.DataItem, "Description") as string ?? String.Empty,20).ToHtmlEncoded()%>'/>
于 2013-02-20T20:11:07.247 に答える