Asp.net 是否可以动态呈现web控件?

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

我们有一个web控件,希望将其呈现到已加载页面上的div中。这需要在用户单击菜单中的超链接时发生

web控件有一些javascript文件,这些文件在C#代码中动态添加到它

我们也不使用aspx文件,希望将web控件加载到普通的html页面上


请让我知道做这件事最好的方法是什么,或者在我努力在网上找到任何有用的东西的时候指导我读一篇文章。非常感谢您的帮助。

您可以在字符串中动态呈现控件,将字符串发送回并将其放在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抱歉,但我不知道如何回答。