【问题标题】:RadDataPager findcontrol returns null in some situationRadDataPager findcontrol 在某些情况下返回 null
【发布时间】:2011-05-19 10:19:59
【问题描述】:

嗨,亲爱的朋友们:
我有一个与 RadListViw 相关的 radcombobox(内部带有 RadDataPager)...
当我更改 rad 组合框的项目时,RadListView 已更新...
selectedIndexxhanged() 服务器端事件...
我的 selectedIndexChanged() 是这样的:

protected void RadcbImagesGroup_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
{
    rlvImages.DataBind();
    var raddatapager = (rlvImages).FindControl("RadDataPager1") as RadDataPager;
    if (raddatapager != null)
    {
        raddatapager.FireCommand("Page","First");
    }

}

我的 radComboBox 项目值类似于:1,2,3...

在模式 1 中,我们有 25 页... 在模式 2 中,我们有 5 页... 在模式 3 中,我们有 5 页...

我的问题是当我们处于模式 1 并将 pageNumber 设置为超过 5 并且当我将组合框项目更改为模式 2 时
var raddatapager = (rlvImages).FindControl("RadDataPager1") as RadDataPager;为空...

但如果我们将 page#(我们处于模式 1)设置为低于 5 或​​等于 5 ,并将 radcb 项目更改为另一个项目,一切正常......

null 问题在哪里?

提前致谢

【问题讨论】:

  • 这真的很奇怪 - 寻呼机应该始终存在。除非您在列表视图中有许多项目,这些项目仅容纳在一页中并且不呈现寻呼机。这种情况会是空引用的罪魁祸首吗?
  • 感谢@Dick Lampard 的回答……是的,这真的很奇怪……我对此感到困惑!你能在一个简单的项目中测试这个问题并让我们知道结果吗?

标签: asp.net null telerik raddatapager


【解决方案1】:

我无法弄清楚 null 问题是什么...
但下面的代码以另一种方式解决了我的问题:

 rlvImages.CurrentPageIndex = 0;

而不是:

var raddatapager = (rlvImages).FindControl("RadDataPager1") as RadDataPager;
if (raddatapager != null)
{
    raddatapager.FireCommand("Page","First");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-27
    • 2015-08-03
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2019-02-16
    • 1970-01-01
    相关资源
    最近更新 更多