0

我使用 XMLDataSource 为我的 Sitefinity Web 应用程序创建了一个 Rss 提要阅读器用户控件。

在下面的代码中,ItemsToTake 是我的用户控件小部件设计器的公共属性。如果用户输入 10,则网站上将显示 9 个提要。

我想调整此代码,使用户输入的数字与网站上显示的提要数量相匹配。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SitefinityWebApp.CustomWidgets.RssFeedReader
{
    [Telerik.Sitefinity.Web.UI.ControlDesign.ControlDesigner(typeof(SitefinityWebApp.CustomWidgets.RssFeedReader.WidgetDesigner_Chapters))]
    public partial class MetroChapter : System.Web.UI.UserControl
    {
        public string RssFeedURL { get; set; }
        public string ItemsToTake { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {

            if (String.IsNullOrEmpty(RssFeedURL))
            {
                XmlDataSource1.DataFile = "http://www.npr.org/rss/rss.php?id=1001";
            }
            else
            {
                XmlDataSource1.DataFile = RssFeedURL;
            }

            if (string.IsNullOrEmpty(ItemsToTake))
            {
                XmlDataSource1.XPath = "rss/channel/item[position() < 6]";
            }
            else
            {
                XmlDataSource1.XPath = "rss/channel/item[position() <" + ItemsToTake + "]";
            }
            XmlDataSource1.Data = "XmlDataSource1";
            XmlDataSource1.DataBind();

        }
    }
}

我能想到的最简单的解决方案是将数字提高 1,所以我这样做了:

XmlDataSource1.XPath = "rss/channel/item[position() <" + (ItemsToTake + 1) + "]";

但这没有用。使用运算符向此属性添加数字的最佳方法是什么?

4

0 回答 0