Asp.net 是否可以动态呈现web控件?
我们有一个web控件,希望将其呈现到已加载页面上的div中。这需要在用户单击菜单中的超链接时发生 web控件有一些javascript文件,这些文件在C#代码中动态添加到它 我们也不使用aspx文件,希望将web控件加载到普通的html页面上Asp.net 是否可以动态呈现web控件?,asp.net,dynamic,rendering,web-controls,Asp.net,Dynamic,Rendering,Web Controls,我们有一个web控件,希望将其呈现到已加载页面上的div中。这需要在用户单击菜单中的超链接时发生 web控件有一些javascript文件,这些文件在C#代码中动态添加到它 我们也不使用aspx文件,希望将web控件加载到普通的html页面上 请让我知道做这件事最好的方法是什么,或者在我努力在网上找到任何有用的东西的时候指导我读一篇文章。非常感谢您的帮助。您可以在字符串中动态呈现控件,将字符串发送回并将其放在div中。使用ajax,您可以调用代码来呈现控件并返回结果 // load th
请让我知道做这件事最好的方法是什么,或者在我努力在网上找到任何有用的东西的时候指导我读一篇文章。非常感谢您的帮助。您可以在字符串中动态呈现控件,将字符串发送回并将其放在div中。使用ajax,您可以调用代码来呈现控件并返回结果
// load the control
var oCConrol = Page.LoadControl("CustomControl.ascx");
// here you need to run some initialization of your control
// because the page_load is not loading now.
// a string writer to write on it
using(TextWriter stringWriter = new StringWriter())
{
// a html writer
using(HtmlTextWriter renderOnMe = new HtmlTextWriter(stringWriter))
{
// now render the control inside the htm writer
oCConrol.RenderControl(renderOnMe);
// here is your control rendered output.
strBuild = stringWriter.ToString();
}
}
另一种方法是,只需创建一个额外的空aspx页面,其中只有您的控件,并使用Ajax调用它,就可以得到相同的结果。结果将再次显示控件
javascript无论如何都是困难的,不能与控件一起使用。您不能将文本发送回控件,然后使其作为javascript在控件内运行,这必须分开进行。我通过创建单独的.aspx页面和Jquery ajax做了类似的事情。使用jQueryAjax调用.aspx页面,并通过ajax响应返回该页面中所有呈现的HTML
据我所知,没有任何方法可以在.aspx页面的上下文之外呈现web控件。hi,我们不使用aspx文件,因此无法调用page.LoadControl,有任何方法可以在普通html文件上执行此操作吗?@xerxes抱歉,但我不知道如何回答。