civ3

编程好玩

导航

WebControl向XSLT传参

在.xsl的根模板前<xsl:param name="len"/>
用条件<xsl:if test="$len>=position()">控制流程
在.net中新建一个类,扩展WebControl类
提供两个可在VS设计面板中修改的参数:FeedURL和MaxLength
        [Bindable(true),
        Category("RSS设置")]
        public string FeedURL       
        {
            get
            {
                return feedURL;
            }

            set
            {
                feedURL = value;
            }
        }

        [Bindable(true),
        Category("RSS设置")]
        public int MaxLength
        {
            get
            {
                return len;
            }

            set
            {
                len = value;
            }
        }
方法
        public XmlDocument getXml()
        {
       
            XmlDocument xml=new XmlDocument();
            xml.Load(feedURL);
            return xml;
        }
获取RSS文档。
重写WebControl的Render方法
        protected override void Render(HtmlTextWriter output)
        {
            XsltArgumentList xslArg = new XsltArgumentList();
            xslArg.AddParam("len", "", len);
            XslTransform transform = new XslTransform();
            transform.Load("http://localhost/style/feeds.xsl");
            transform.Transform(getXml(), xslArg, output,null);
           
            //Call base class
            base.Render(output);
            //    output.Write(Text);
        }   
实现向xsl传参,对rss的转换和输出。

posted on 2005-09-11 15:20  civ3's .NET studying  阅读(293)  评论(0编辑  收藏  举报