首页 > csdn导入 > Validator原来不可以Render两次

Validator原来不可以Render两次

公司有一个简单功能的PrintPanel,这两天却一直用不上,报以下的错误:

[ArgumentException: 已存在具有相同键的条目。]    System.Collections.Specialized.ListDictionary.Add(Object key, Object value) +283    System.Web.UI.ClientScriptManager.RegisterExpandoAttribute(String controlId, String attributeName, String attributeValue, Boolean encode) +237    System.Web.UI.WebControls.BaseValidator.AddExpandoAttribute(Page page, HtmlTextWriter writer, String controlId, String attributeName, String attributeValue, Boolean encode) +105    System.Web.UI.WebControls.BaseValidator.AddAttributesToRender(HtmlTextWriter writer) +188    System.Web.UI.WebControls.RequiredFieldValidator.AddAttributesToRender(HtmlTextWriter writer) +21    System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer) +17    System.Web.UI.WebControls.BaseValidator.Render(HtmlTextWriter writer) +459    System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +53    System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +294    System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +24    System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +199    System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +21    System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer) +7    System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +29

实在是看不懂,而.NET又不像Java一样是开源的,可以一直跟进去看代码。网上又查不到错误。只好还是回到唯一的线索:StackTrace。发现是从BaseValidator.AddExpandoAttribute这个私有方法抛上来的,于是把Validator都去掉了,发现没问题了。研究了一会儿过后,发现应该是ClientScriptManager里把相同的Javascript给注册了两次造成的。把Validator设成Disable没用,只有Visible=false管用。

分类: csdn导入 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word


Warning: fsockopen() has been disabled for security reasons in /home/onlymars/public_html/wp/wp-includes/class-snoopy.php on line 1148