public class MarqueeTest:System.Web.UI.WebControls.WebControl
{
private string[] _defaultContent;
public string[] Content
{
get
{
if(ViewState["content"]==null)
{
ViewState["content"]=this.DefaultContent;
}
string[] array=ViewState["content"] as string[];
return array;
}
set
{
ViewState["content"]=value;
}
}}aspx中在属性设置中设置了长度为2的数组属性:
<cc1:MarqueeControls id="MarqueeControls1" style="Z-INDEX: 101; LEFT: 88px; POSITION: absolute; TOP: 104px"
runat="server" Direction="Up" Width="256px" DefaultContent="String[] Array"></cc1:MarqueeControls>运行时报错:
无法从其“DefaultContent”属性的字符串表示形式“String[] Array”创建“System.String[]”类型的对象。

解决方案 »

  1.   

    public string[] DefaultContent
    {
    get
    {
    return this._defaultContent;
    }
    set
    {
    this._defaultContent=value;
    }
    }
      

  2.   

    晕,ViewState里面只能放字符串
    往里放数组?异想天开!
      

  3.   

    加个分隔符,join(String.Join)到字符串吧
      

  4.   

    i'm sorry
    犯常识性错误了帮看看DefaultContent属性为何设置不正确
      

  5.   

    可以放数组,刚测试了一下,ViewStateKeyi放置任何能序列化的对象
      

  6.   

    在 aspx页面可以显示的控件属性只能是string