質問: CType(LoadControl(controlPath), Object) userControl1.init(c) 'cが渡せない End Using End Sub ``` ### 制限 CookieやSessionの利用は不可 ### 試したこと XMLSerializerなどを利用してシリアライズし、QueryStringとしてクラスインスタンスも渡す方法を一度試したところ、クラスインスタンスのプロパティでエラーが発生し、シリアライズがそもそも上手くできませんでした。また、ブラウザのクエリパラメータ文字数制限にひっかかることや、処理の複雑化が発生することを考慮してひとまず断念しました。 ### 補足情報(言語/FW/ツール等のバージョンなど) Microsoft .NET Framework 3.5
回答: A.aspx ページの Page_Load で初期化した UserClass クラスのインスタンスを、B.aspx に Page_Load 時点で渡すということがしたいのに、Session、Cookie は使用禁止で、QueryString はそもそもシリアル化ができないのでダメということですと、残る手段はアプリケーション状態とかキャッシュぐらいしかなさそうですが、それも使えないのでしょうね。 とすると、今のやり方を根本的に変えない限り、手の打ちようがないと思うのですが。 UserClass というのが具体的になんだかわからないので可能かどうか不明ですが、UserClass のインスタンスを渡すというやり方を変えて、UserClass の初期化に必要な情報を QueryString で渡せる形にして A.aspx から B.aspx に渡し、UserClass のインスタンスの生成と初期化は B.aspx で行う他手はなさそうな気がします。