如何为返回的ListOf行创建自动生成标识

时间:2012-01-26 12:54:14

标签: asp.net asp.net-mvc asp.net-mvc-2

我正在访问数据列表,如下所示。

var result = (from Pages in PagesList.Items.OfType<SPListItem>()
select new ListImages
{
  desc = Convert.ToString(Pages["Description"])
}).ToList();

我想要的是为生成的行数自动生成自定义增量ID。 例如, slide-img-1,slide-img-2 等。

public class ListImages
{
    string _desc;   
    string _id;
     public string id
    {
        get
        {
            if (_id != null)
                return _id;
            else
                return string.Empty;
        }
        set { _id = value; }
    }
    public string desc
    {
        get
        {
            if (_desc != null)
                return _desc;
            else
                return string.Empty;
        }
        set { _desc = value; }
    }
}

谢谢,

与Ashish

1 个答案:

答案 0 :(得分:0)

我不知道是否可以使用Linq特定的语法实现,但是像这样编写查询,您可以使用 .Select() 方法提供索引:

var result = PagesList.Items.OfType<SPListItem>()
    .Select((page, index) => new ListImages
                                 {
                                     desc = Convert.ToString(page["Description"]),
                                     id = String.Concat("slide-img-", index + 1)
                                 })
    .ToList();