我使用 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) + "]";
但这没有用。使用运算符向此属性添加数字的最佳方法是什么?