C# 具有默认视图的Sharepoint 2007标题列

C# 具有默认视图的Sharepoint 2007标题列,c#,sharepoint,sharepoint-2007,C#,Sharepoint,Sharepoint 2007,我在访问列表中的标题列时遇到问题 我正在构建WebPart,它使用deault视图访问列表 代码类似于此处理列表项: var i = new MenuItem(); try { i.Title = item.GetFormattedValue("ShortTitle"); if (string.IsNullOrEmpty(i.Title)) { i.Title = item.Title;

我在访问列表中的标题列时遇到问题

我正在构建WebPart,它使用deault视图访问列表

代码类似于此处理列表项:

    var i = new MenuItem();
    try
    {
        i.Title = item.GetFormattedValue("ShortTitle");
        if (string.IsNullOrEmpty(i.Title))
        {
            i.Title = item.Title;
        }
        object urlValue = item["DestinationUrl"];
        string url = "";
        if (urlValue != null)
        {
            var value = new SPFieldUrlValue(urlValue.ToString());
            i.Url = value.Url;
        }
    }
    catch (Exception)
    {
        ErrorHandling.Controls.Add(new LiteralControl("Your list must contain ShortTitle, Title and DestinationUrl columns"));

        ErrorHandling.Visible = true;
        return;
    }

    MenuItems.Add(i);
此代码导致异常:

Value does not fall within the expected range.
第i行中存在问题。Title=item.Title;。删除此行时,不会引发异常

关于这个错误有什么建议吗


顺便说一句,当我不使用list.DefaultView时,everythink工作正常

我认为您的默认视图不包含标题字段。 尝试在默认视图中包含标题字段,或尝试使用list.Items而不是list.DefaultView