首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

System.StackOverflowException 小弟我觉得没有什么错误呀,请帮小弟我看看出在什么地方错了

2012-01-21 
System.StackOverflowException我觉得没有什么异常呀,请帮我看看出在什么地方错了。publicenumTextReadOnly

System.StackOverflowException 我觉得没有什么异常呀,请帮我看看出在什么地方错了。
public   enum   TextReadOnly
{
      Yedit=0,//可录入
      Nedit=1
}
public   enum   DataValidate
{
        Yvalidate   =   0,//可验证
        Nvalidate   =   1
}
public   partial   class   pub_ddl02   :   System.Web.UI.UserControl
{
  public   virtual   TextReadOnly   TextEdit
        {
                get
                {
                        object   textedit   =   ViewState[ "TextEdit "];
                        if   (textedit==   null)
                                return   TextReadOnly.Yedit;
                        else
                                return   (TextReadOnly)TextEdit;
                }
                set
                {
                        ViewState[ "TextEdit "]   =   value;
                }
        }
   
        public   virtual   DataValidate   Validate
        {
                get
                {
                        object   validate   =   ViewState[ "Validate "];
                        if   (validate   ==   null)
                                return   DataValidate.Yvalidate;
                        else
                                return   (DataValidate)validate;
                }
                set
                {
                        ViewState[ "Validate "]   =   value;
                }
        }
}


[解决办法]
这种错误就是产生了递归调用
这个属性改成
public virtual TextReadOnly TextEdit
{
get
{
object textedit = ViewState[ "TextEdit "];
if (textedit == null)
return TextReadOnly.Yedit;
else
return (TextReadOnly)textedit;//不是TextEdit


}
set
{
ViewState[ "TextEdit "] = value;
}
}
[解决办法]
堆栈溢出,多见于无限递归调用,楼上正解。

热点排行