将随机XmlDataSource绑定到带有Xpath的转发器

时间:2011-01-18 12:52:41

标签: asp.net xml data-binding xpath repeater

我正在创建一个页面,将一个电影预告片列表放在一个转发器内的asp.net网页上。

数据来源是在线XML Feed。

为此,我按照以下方式绑定转发器......

string XML_FEED_URL = "http://some-cinema-feed.com/comingsoon/";

XmlDataSource data_source = new XmlDataSource();
data_source.DataFile = XML_FEED_URL;
data_source.XPath = "/movies/movie[position() > 0 and position() < 3]";

this.moviePreciewsRepeater.DataSource = data_source;
this.moviePreciewsRepeater.DataBind();

问题是Feed的长度有规律地改变而不是用XPATH选择一系列电影(即XML中的1-3)我需要从XML中选择3个完全随机的电影并将其绑定回转发器。

1 个答案:

答案 0 :(得分:1)

使用

data_source.XPath = 
    string.Format(@"/movies/movie[position() = {0} 
                               or position() = {1}
                               or position() = {2}
                                 ]",
                  random1, random2, random3); 

变量random1random2random3是您已经计算过的随机整数。