1

我创建了一个继承 GridView 类的自定义服务器端控件。我添加了一个公共字符串属性,它接受带有逗号分隔符的数据源(数据集或数据表)的列名。现在我已经实现了所需的方法(在我的例子中,我已经覆盖了 OnRowDataBound 事件)并使用了自定义属性值。我也在其他项目中使用过相同的 DLL。声明属性如下

[Bindable(false)]
public string RowSpanColumn
{
     get { return _RowSpanColumn; }
     set { _RowSpanColumn = value; }
}

我已经将控件拖到我的 ASPX 页面上,VS 的设计视图看起来不错(与 GridView 设计相同)。但是当我如上所述设置自定义属性时,控件的设计视图在其顶部显示错误

There was an error rendering the control.Object reference not set to an instance of an object

ASPX 页面按预期完美运行,只有 Visual Studio 的设计视图存在问题。请帮我找到解决方案。谢谢

更新

我们观察到将属性名称重命名为 RowSpanColumn 以外的其他名称,例如 RSColumn。设计完美展现。我想知道,如果 RowSpanColumn 是 Visual Studio 使用的预定义属性?请帮我。

4

1 回答 1

0

您是否尝试过为自定义控件添加设计时支持?

这里有几个链接可能会有所帮助。

ASP.NET 控件设计器概述 -- http://msdn.microsoft.com/en-us/library/wxh45wzs.aspx

设计时架构 ——http: //msdn.microsoft.com/en-us/library/c5z9s1h4.aspx

Visual Studio .NET 中的自定义设计时控制功能 -- http://msdn.microsoft.com/en-us/magazine/cc164048.aspx

扩展设计时间支持——http:
//msdn.microsoft.com/en-us/library/37899azc.aspx

有关更多信息,您可以尝试使用另一个 Visual Studio 实例来调试问题并附加到现有进程。

于 2011-08-03T13:41:25.637 回答