これは一種の概念的な質問ですが、ユーザー入力に基づいて.NetWebControlsをページに追加できるようにしたいと思います。これらのコントロールを、サーバーから生成されるWebControlsとUserControlsにします。コントロールが完全にレンダリングされることを確認しながら、これを実行する方法がよくわかりません。JQueryからサーバーに簡単にリクエストを送信し、返されたマークアップを問題なくページに追加できることはわかっています。WebControl / UserControlの完全なマークアップを生成してAJAXを介してJQueryに戻し、ページにレンダリングできるようにする方法はありますか?
質問する
622 次
1 に答える
0
ページへの非同期コールバックを行うには、AJAX を使用する必要があります。クライアントからこれをトリガーしたい場合は、おそらくコード ビハインドでメソッドを使用__doPostBack
してオーバーライドできます。RaisePostBackEvent
<script type="text/javascript">
loadControls = function(input){
__doPostBack(input.id, input.value);
}
</script>
<asp:UpdatePanel ID="pnlLoadControls" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtInput" runat="server" onkeyup="loadControls(this)" />
<asp:PlaceHolder ID="plcLoadedControls" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
そして、コード ビハインドで:
protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
{
base.RaisePostBackEvent(source, eventArgument);
if (source == txtInput)
{
plcLoadedControls.Controls.Add(new LiteralControl("Hello World!"));
}
}
于 2012-05-03T19:00:56.203 に答える