新开发的一个ASP.NET Server Control 控件,在asp.net页面中,该控件的显示及设置正常,但运行时报错。100分助!!!

Richard2001 2006-06-13 03:17:43
新开发的一个ASP.NET Server Control 控件,在asp.net页面中,该控件的显示及设置正常,但运行时报错:
Parser Error Message: Cannot create an object of type 'WebControls.ToolBarButton[]' from its string representation 'ToolBarButton[] Array' for the 'ToolBarButtonList' property.

说明:
属性ToolBarButtonList带有 Object Array[] 接口,在asp.net页面的设计界面的属性窗口能正常设置该对象属性,但运行报错。
html:
<cc1:webtoolbar id="WebToolBar1" runat="server" ToolBarButtonList="ToolBarButton[] Array" Width="12px" Height="2px"></cc1:webtoolbar>


Help!!!
...全文
197 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreammaster 2006-06-14
  • 打赏
  • 举报
回复
ToolBarButton 类需要实现序列化接口.
shalen520 2006-06-14
  • 打赏
  • 举报
回复
应该是这里的问题:TypeConverter(typeof( System.ComponentModel.ArrayConverter)),还是自己实现一个TypeConverter把
Richard2001 2006-06-13
  • 打赏
  • 举报
回复
控件属性的C#代码:
[
CategoryAttribute("工具条项目"),
DescriptionAttribute("获取或设置工具条的项目列表。"),

EditorAttribute( "WebToolBar",typeof( System.Drawing.Design.UITypeEditor )),
TypeConverter(typeof( System.ComponentModel.ArrayConverter)),
DesignerSerializationVisibility( DesignerSerializationVisibility.Content ),
PersistenceMode( PersistenceMode.Attribute )
]
public ToolBarButton[] ToolBarButtonList
{
get
{
object savedState = this.ViewState["ToolBarButtonList"];
return (savedState == null) ?
new ToolBarButton[] {new ToolBarButton("Button1")} :
(ToolBarButton[])savedState;
}
set
{
ViewState["ToolBarButtonList"] = (ToolBarButton[])value;
}
}


在设计界面中对该控件的属性设置时,会在该属性的后面出现一个[...]按钮,点击后可以:添加Button,定义名称,设置Button的图片等。
kemin 2006-06-13
  • 打赏
  • 举报
回复
这名是在设计界面中对该控件的属性设置后,系统自动添加上的。我原来的只是:
---------------------------------------
设计界面中你如何设置一个Array数组给这个属性的?
Richard2001 2006-06-13
  • 打赏
  • 举报
回复
这名是在设计界面中对该控件的属性设置后,系统自动添加上的。我原来的只是:
<cc1:webtoolbar id="WebToolBar1" runat="server" Width="12px" Height="2px"></cc1:webtoolbar>
cscer 2006-06-13
  • 打赏
  • 举报
回复
ToolBarButtonList="ToolBarButton[] Array"

这句是不是不能直接写啊,需要在后台用代码动态添加
Richard2001 2006-06-13
  • 打赏
  • 举报
回复
ASP.NET页面前已有
<%@ Register TagPrefix="cc1" Namespace="ToolBarControls" Assembly="WebToolBar" %>
如果没有,在页面的设计界面中该控件是显示不出来的。
现在的问题是:在页面的设计界面中该控件显示正常,并且能正常加入控件的多个按钮。但一运行就报上面的错误。
cat_hsfz 2006-06-13
  • 打赏
  • 举报
回复
设计时正常运行是错误是常有的,因为设计时VS(或者其他设计器)不会帮你检查该控件运行时的逻辑,而以最简单的上下文让该控件呈现。你就好像调试网站那样调试,一步一步跟入控件内代码,那就知道什么问题了。
shalen520 2006-06-13
  • 打赏
  • 举报
回复
ToolBarButtonList="ToolBarButton[] Array" 这个属性不对把,怎么持久化成这样了呢?

需要为该属性撰写TypeConverter
wfcfan 2006-06-13
  • 打赏
  • 举报
回复
类似这样的语句有吗



<%@ Register TagPrefix="webdiyer" Namespace="Wuqi.Webdiyer" Assembly="AspNetPager" %>
amandag 2006-06-13
  • 打赏
  • 举报
回复
帮顶

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧