首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SPGridView的分页错误

使用SPGridView的分页错误
EN

Stack Overflow用户
提问于 2010-08-02 09:20:19
回答 2查看 2.5K关注 0票数 4

我正在使用与SPGridViewPager关联的OOTB SPGridView控件。这在2007年很好,但现在我们已经升级到2010年,我得到了以下错误时,试图页面浏览数据集;

System.InvalidCastException:无法将'System.Int32‘类型的对象转换为'System.String’。(在Microsoft.SharePoint.WebControls.SPGridView.set_PageIndex(Int32值)在Microsoft.SharePoint.WebControls.SPGridViewPager.OnClickNext(EventArgs args)在Microsoft.SharePoint.WebControls.SPGridViewPager.RaisePostBackEvent(String eventArgument)在System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl ( String eventArgument)在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,Boolean )

我的代码仍然是指12版本的Microsoft.SharePoint程序集,所以我不太确定是什么改变导致了这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-05 13:38:02

这里也有同样的问题。不过,我不使用SPGridViewPager控件。我只是简单地调用.PageIndex = e.NewPageIndex;,两者都是Integer类型的。我在PageIndexChanging(object sender, GridViewPageEventArgs e)方法中做作业。

不知道这是怎么回事。我现在正在Reflector看这个。

我在想你是不是在用DataKeys?看上去这里有两个模组。见下文。

代码语言:javascript
复制
public override void set_PageIndex(int value)
{
    int pageIndex = this.PageIndex;
    DataKeyArray dataKeys = this.DataKeys;
    base.PageIndex = value;
    if (pageIndex != this.PageIndex)
    {
        this.PreviousPageIndex = pageIndex;
        if ((dataKeys == null) || (dataKeys.Count <= 0))
        {
            this.PreviousPageFirstRowDataKey = null;
            this.PreviousPageLastRowDataKey = null;
        }
        else
        {
            **this.PreviousPageFirstRowDataKey = (string) dataKeys[0].Value;
            this.PreviousPageLastRowDataKey = (string) dataKeys[dataKeys.Count - 1].Value;**
        }
    }
}

要解决这个问题,我必须仔细查看我的数据源和数据集。我有一组从Server返回的记录,我所做的是将它们绑定到POCO。该类具有几个Integer类型的公共属性。这些整数是我在网格上的数据。我用一个字符串代替了他们的类型,以绕过铸造问题。

希望这是有意义的。它帮我修好了。

票数 4
EN

Stack Overflow用户

发布于 2012-10-10 17:20:53

哇,看起来这是SPGridViewPager中的一个bug。我刚刚遇到了同样的问题,将数据键类型从int改为string解决了这个问题。谢谢你的评论,它真的帮助了我!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3386450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档