【问题标题】:Load .ascx from string (SQL)从字符串加载 .ascx (SQL)
【发布时间】:2014-01-31 11:08:23
【问题描述】:

我想问有没有办法从字符串加载 ascx 控件?更准确地说:我喜欢在 sql 中创建/存储一个新的 .ascx,然后将其加载到网站。

【问题讨论】:

    标签: c# asp.net controls


    【解决方案1】:

    是的,你应该可以使用 ParseControl 函数来做你想做的事:

    http://msdn.microsoft.com/en-us/library/kz3ffe28.aspx

    来自 MSDN 的示例:

    <%@ Page language="c#" Debug="true" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
      <head>
        <title>ASP.NET Example</title>
    <script runat="server">
        // System.Web.UI.TemplateControl.ParserControl;
        // The following example demonstrates the method 'ParseControl' of class TemplateControl.
        // Since TemplateControl is abstract, this sample has been written using 'Page' class which derives from 
        // 'TemplateControl' class.
        // A button object is created by passing a string to contstruct a button using ASP syntax, to the 
        // 'ParseControl' method. This button is added as one of the child controls of the page and displayed.
        void Page_Load(object sender, System.EventArgs e)
        {
          Control c = ParseControl("<asp:button text='Click here!' runat='server' />");
          myPlaceholder.Controls.Add(c);
        }
        </script>
      </head>
      <body>
        <form id="form1" runat="server">
          <asp:placeholder id ="myPlaceholder" runat="server" />
        </form>
      </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 2011-06-23
      • 2017-03-14
      • 1970-01-01
      • 2011-09-11
      • 2023-03-28
      • 1970-01-01
      • 2014-12-11
      • 2012-05-22
      • 2013-08-18
      相关资源
      最近更新 更多