0

ユーザーがポストバック要求を送信したときにオンザフライで作成された Control オブジェクトをレンダリングしたいと思います。そのために、以下のコードを使用します。

StringBuilder sb = new StringBuilder();
HtmlTextWriter ht = new HtmlTextWriter(new StringWriter(sb));
Rating r = new Rating("r", 5, 3, No, Big);
r.RenderControl(ht);

残念ながらInvalidOperationException、最後の行で次のエラーが発生します。

ページを null にすることはできません。この操作が ASP.NET 要求のコンテキストで実行されていることを確認してください。

この方法の使用方法を誤解していたRenderControl可能性があります。問題を解決できることを願っています。

ありがとう、デビッド

4

1 に答える 1

0

レンダリングを試みる前に、新しい評価コントロールをページ コントロールにアタッチしているようには見えません。

RenderControlの MSDNドキュメントから、呼び出しの内部は、囲んでいる Page を探し、 Page オブジェクトの設定に基づいていくつかのアクティビティを実行します。

ページにプレースホルダーを追加し、レンダリングを試みる前に評価コントロールをそこに挿入することができます。

于 2013-03-18T16:08:58.420 に答える