我希望使用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