locked
default.aspx を編集後、既に表示中の Web パーツ の表示がエラーになる RRS feed

  • 全般的な情報交換

  •  

     

    SharePoint Deignerでトップページの default.aspx を編集したら、既に配置してあったWebパーツの一部がエラーとなりました。
    エラーになったWebパーツは、弊社で開発したもので、標準のWebパーツはエラーにはなっていません。
    原因、操作手順の誤り、回避策などご教授いただきたくよろしくお願いします。


    エラーメッセージ
    ---
    Web パーツ エラー:'Response'プロパティの文字列形式'System.Web.HttpResponse' から型'System.Web.HttpResponse'のオブジェクトを作成できません。
    ---

    実際に行った操作としては、以下の流れになります。
     ①SharePoint Deignerでトップページのサイトを開く
     ②default.aspxを開く
     ③default.aspxにて、Webパーツ配置のテーブルセルの幅調整やセル背景色の変更などを実施
     ④変更内容を保存する
     ⑤保存後、ログインしてトップページを表示

    --
    SharePoint2007
    • 種類を変更済み 星 睦美 2011年3月29日 0:50 解決済み
    2011年3月8日 1:58

すべての返信

  • 原因と回避策については、カスタム開発Webパーツとのことですので、わかりません。

    手順はいたって普通ですので問題ないと思います。

    Webパーツを再配置しても駄目ですか?


    SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/
    2011年3月8日 2:24
  • ご回答ありがとうございます。

    Webパーツを再配置すれば、正常に表示することは出来ました。

    しかしながら、編集するたびにWebパーツを再配置してくださいとも言えないので、なんとか、この現象の原因を見つけないといけないのですが、メッセージから推測できる原因や、過去に同じ現象に会われた方などアドバイスをいただければ幸いです。

     

    以下、エラーの詳細です。

    Web パーツ エラー: 'Response' プロパティの文字列形式 'System.Web.HttpResponse' から型 'System.Web.HttpResponse' のオブジェクトを作成できません。
    
    エラーの詳細を表示 
    エラーの詳細を表示しない 
    
    [HttpParseException: 'Response' プロパティの文字列形式 'System.Web.HttpResponse' から型 'System.Web.HttpResponse' のオブジェクトを作成できません。]
     場所 System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) 
     場所 System.Web.UI.TemplateParser.ParseInternal() 
     場所 System.Web.UI.TemplateParser.Parse() 
     場所 System.Web.UI.DesignTimeTemplateParser.ParseControlsInternal(DesignTimeParseData data, Boolean returnFirst) 
     場所 System.Web.UI.DesignTimeTemplateParser.ParseControl(DesignTimeParseData data) 
     場所 System.Web.UI.Design.ControlSerializer.DeserializeControlInternal(String text, IDesignerHost host, Boolean applyTheme) 
     場所 System.Web.UI.Design.ControlSerializer.DeserializeControl(String text, IDesignerHost host) 
     場所 System.Web.UI.Design.ControlParser.ParseControl(IDesignerHost designerHost, String controlText) 
     場所 Microsoft.Web.Design.Server.ServerDocument.Microsoft.Web.Design.Server.IServerDocumentDesigner.ParseControl(String outerHtml) 
     場所 Microsoft.SharePoint.WebPartPages.SPWebPartManager.CompressUsingMicrosoftWebDesigner(SourceContent sourceContent, String allRegisterDirectives) 
     場所 Microsoft.SharePoint.WebPartPages.SPWebPartManager.CompressInOrder(Deserializer firstMethod, Deserializer secondMethod, SourceContent sourceContent, String allRegisterDirectives, Boolean isClosed)
    
    [HttpParseException: 'Response' プロパティの文字列形式 'System.Web.HttpResponse' から型 'System.Web.HttpResponse' のオブジェクトを作成できません。]
     場所 System.Web.UI.TemplateParser.ProcessException(Exception ex) 
     場所 System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) 
     場所 System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
    
    [HttpException: 'Response' プロパティの文字列形式 'System.Web.HttpResponse' から型 'System.Web.HttpResponse' のオブジェクトを作成できません。]
     場所 System.Web.UI.PropertyConverter.ObjectFromString(Type objType, MemberInfo propertyInfo, String value) 
     場所 System.Web.UI.ControlBuilder.AddProperty(String filter, String name, String value, Boolean mainDirectiveMode) 
     場所 System.Web.UI.ControlBuilder.PreprocessAttribute(String filter, String attribname, String attribvalue, Boolean mainDirectiveMode) 
     場所 System.Web.UI.ControlBuilder.PreprocessAttributes(ParsedAttributeCollection attribs) 
     場所 System.Web.UI.ControlBuilder.Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, String tagName, String id, IDictionary attribs) 
     場所 System.Web.UI.ControlBuilder.CreateBuilderFromType(TemplateParser parser, ControlBuilder parentBuilder, Type type, String tagName, String id, IDictionary attribs, Int32 line, String sourceFileName) 
     場所 System.Web.UI.ControlBuilder.CreateChildBuilder(String filter, String tagName, IDictionary attribs, TemplateParser parser, ControlBuilder parentBuilder, String id, Int32 line, VirtualPath virtualPath, Type& childType, Boolean defaultProperty) 
     場所 System.Web.UI.TemplateParser.ProcessBeginTag(Match match, String inputText) 
     場所 System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) 
    

     

     

     

    2011年3月9日 1:23
  • 単に、行儀の悪いWebパーツを開発してしまったのが原因だと思います。
    セオリー通り、細かなログ出力や、開発環境でも再現ならデバッグを実施するしかないです。

    地道にエラーを詳細に調べる方法や、ログを確認するのが近道だと思います。

    あとは、、パッケージを作成し直して、ロジックを移植してみるくらいかな、
    VSeWSSが生成するXML関連を、真っ新にして、GUIDを取り直してと、、


    Blog:http://blog.sharepointissue.com HP:http://www.piecepoint.jp/
    2011年3月12日 14:49
  • i.cfqp さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    今回は私のほうで[回答としてマーク]をさせていただきました。
    中村 和彦 さん、yama chan さんのアドバイスを参考にしていただければと思います。

    それでは今後ともTechNet フォーラムをよろしくお願いします。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2011年3月28日 1:00
  • カスタム プロパティを含む Web パーツを SPD 2007 で正しく処理するには該当のプロパティを型コンバータを使用して文字列に変換・逆変換できる必要があるのですが、今回、独自に作成した型や暗黙的に文字列に変換・逆変換できない型のカスタム プロパティが含まれており、これらのプロパティを文字列に変換・逆変換するための型コンバータを実装していないことが原因でした。
    プロパティと文字列の間の変換・逆変換が失敗し、今回のエラーが発生したものと考えられます。

    SharePointの開発元(Microsoft)に問い合わせたところ、上記の回答を頂き、解決に至りましたので、ここに記載しておきます。回答を頂きました、中村 和彦 さん、yama chan さんありがとうございました。



    • 編集済み i.cfqp 2011年4月4日 1:58
    2011年3月28日 11:33
  • i.cfqp さん、結果をお知らせいただきありがとうございます。

    開発元に問い合わせて解決されたということで、今回の投稿の種類をディスカッションに変更させていただきました。

    これからもTechNet フォーラムをよろしくお願いします。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2011年3月29日 0:49