我希望使用xml和xsl在asp.net頁面上生成控件。ASP.NET,XSLT和動態控件
我目前有一個asp.net內容頁面,其中包含一個xml控件。加載頁面時,會加載一個xml文件,並提取所需的元素並將其設置爲xml控件的DocumentContent,並將xml控件的TransformSource設置爲相應的xsl文件。
在xsl文件中,我希望使用模板來創建asp.net控件,具體取決於xml的內容。有沒有一種簡單的方法在內容頁上使用xml控件進行此操作?
我希望使用xml和xsl在asp.net頁面上生成控件。ASP.NET,XSLT和動態控件
我目前有一個asp.net內容頁面,其中包含一個xml控件。加載頁面時,會加載一個xml文件,並提取所需的元素並將其設置爲xml控件的DocumentContent,並將xml控件的TransformSource設置爲相應的xsl文件。
在xsl文件中,我希望使用模板來創建asp.net控件,具體取決於xml的內容。有沒有一種簡單的方法在內容頁上使用xml控件進行此操作?
生成的轉換輸出未被解析爲作爲控件集添加到頁面中。而是將生成的輸出發送到響應。因此,您無法將轉換應用於將生成新控件的XML控件。
可能有一種方法可以創建轉換結果並調用一些可應用於頁面的解析,但不符合您的「簡單」要求。
我不知道任何容易方式做到這一點,但也有一些系統在那裏這些動態生成的ASPNET標記,然後從內存流(或類似)發送到ASPNET運行。
我認爲umbraco使用類似這樣的系統,但初始構建器機制可能比aspnet控件稍低一點。使用httpmodule或其他在請求管道中早先命中的內容可能是可以實現的。
在您的XSL中註冊一個名稱空間,以便您可以將.NET服務器端標籤放入其中。針對您的XML運行您的XSL轉換。通過Page.ParseControls()運行變換的結果。這會給你一個很好的控制層次結構。將該函數的輸出添加到Controls集合(或佔位符的控件集合)中,並且您可以輕鬆完成。
在.NET中使用動態控件有許多警告,所以要小心。
發佈一些示例XML – 2008-10-12 19:39:55