一連のコントロールが設定されているコントロールがあります。私がやりたかったのは、文字列出力を取得することです。自分が取り組んでいる例を試してみましたが、一部のコントロールは入力テキストボックスであるため、問題があるようです。runat="server"が設定されたフォームが必要だと言っています。私の結論は、ある種のマークアップを読んでいないということです。
それを回避する方法はありますか?データバックエンドをフォームでラップすることを考えていました...
したがって、root->(control1、control2)の代わりに、root-> form->(control1、control2)のようになります。
私がやってきた試み:
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWritertw = new HtmlTextWriter(sw);
root.RenderControl(tw);
エラーはルートで発生します。
マークアップでは、次のようなことを試みました。
<form runat=server><asp:pladeholder id="root" /></form>
しかし、それはまったく機能しませんでした。
root-> form->(1,2)はまだ試していませんが、今から試します。編集:私はこの試みを行いましたが、1つのHTMLExceptionは発生しなくなりましたが、無効な操作例外が発生しました: RegisterForEventValidationはRender()中にのみ呼び出すことができます。
VeriftRenderingInServerForm(Control control){}もオーバーライドしようとしましたが、どちらも機能しませんでしたが、この部分を間違って実行していた可能性がありますか?