Quiero cargar un control de usuario usando jquery ajax. Una posible que encontré es cargar usercontrol a través de controlador genérico. Alguien me ayuda plsss. aquí el código ajax que estoy usando para llamar al control.¿cómo podemos cargar el control de usuario usando un manejador genérico?
<script type="text/javascript">
function fillSigns() {
$.ajax({
url: "usercontrolhandler.ashx?control=signs.ascx",
context: document.body,
success: function (data) {
$('#signdiv').html(data);
}
});
}
</script>
y aquí está el código en el archivo de controlador de
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
Page page = new Page();
UserControl ctrl = (UserControl)page.LoadControl("~/" + context.Request["control"] + ".ascx");
page.Form.Controls.Add(ctrl);
StringWriter stringWriter = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(stringWriter);
ctrl.RenderControl(tw);
context.Response.Write(stringWriter.ToString());
}
Este código de error plantea referencia a un objeto que no se encuentra en la línea de abajo se muestra.
page.Form.Controls.Add(ctrl);
No hay necesidad de crear un objeto 'Page' para hacer que el' UserControl'. Elimina ese código y estarás bien. –