Asp.net &引用;指定的参数超出了有效值的范围。”;回邮';使用Infragistics WebDialogWindow的进程

Asp.net &引用;指定的参数超出了有效值的范围。”;回邮';使用Infragistics WebDialogWindow的进程,asp.net,.net,infragistics,Asp.net,.net,Infragistics,在处理回发邮件时,我在网页上遇到了一个非常奇怪的问题。以下是错误将导致的解释: 错误: 指定的参数超出了有效值的范围。 参数名称:value 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.ArgumentOutOfRangeException:指定的参数超出有效值的范围。 参数名称:value 源错误: 在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

在处理回发邮件时,我在网页上遇到了一个非常奇怪的问题。以下是错误将导致的解释:

错误: 指定的参数超出了有效值的范围。 参数名称:value 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.ArgumentOutOfRangeException:指定的参数超出有效值的范围。 参数名称:value

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[ArgumentOutOfRange异常: 指定的参数超出范围 有效值的范围。参数名称: 值]
System.Web.UI.WebControls.Unit..ctor(字符串 值,CultureInfo区域性,单位类型 默认类型)+8670188
System.Web.UI.WebControls.Unit.Parse(字符串 s、 文化信息文化)+31
Infragistics.Web.UI.Framework.ControlObject.ConvertToUnit(对象 对象,单位定义,布尔allowNegative) +399 Infragistics.Web.UI.LayoutControls.WebDialogWindow.get_Top() +74 Infrastics.Web.UI.LayoutControls.DialogWindowBot.LoadClientPropsTransactionList(字典'2 列表)+350
Infragistics.Web.UI.Framework.ObjectBase.LoadTransactionList(布尔值 延迟加载后数据处理)+57
Infragistics.Web.UI.Framework.RunBot.LoadClientData() +57 Infragistics.Web.UI.Framework.RunBot.HandleLoadPostData(字符串 postDataKey,NameValueCollection 收集后)+14
Infragistics.Web.UI.Framework.ControlMain.LoadPostData(字符串 postDataKey,NameValueCollection 收集后)+19
System.Web.UI.Page.ProcessPostData(NameValueCollection postData,布尔值fBeforLoad)+693
System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔值 includeStagesAfterAsyncPoint)+1743

解释

如果你看一下stacktrace,我们很容易看到.NET仍然没有通过我的代码,所以我不能设置任何断点。更奇怪的是,对于完全相同的过程,但数据不同(在我的页面上),它工作得很好。请帮帮我,我在上面呆了大约3个小时

更新

我必须说,当它失败时(目前只有2个对象在30个测试对象上),它只在回发时失败。使用:Infragistics webdialogwindow和一个webcontrol来处理类似“可见”的属性(隐藏或正常,而不是大小)。但正如下面有人所说(对不起,我不记得你的名字),关于webdialogwindow是肯定的,但我只是不处理它的位置

更新2


我们已经尝试从数据库中删除一个varchar(max)列的值,现在它工作了!!哇,我们不知道该怎么想,因为一切看起来都很好。问题是我们必须保持这个专栏的价值!!!有人知道该怎么想吗?此varchar(max)在数据列表上显示为Eval(“DescriptionMemo”)。

您正在使用无效参数集调用
System.Web.UI.WebControl.Unit的构造函数,或者以某种方式不正确地初始化它

您是否在aspx页面的WebControl上的某个位置设置了一个单位?

根据,当值参数超出范围(不在-32768和32767之间)时,单位类的构造函数将引发ArgumentOutOfRangeException。不知何故,这就是传递给页面上该元素的值

现在,您已经说过,您正在不同的请求中传递不同的值,并且这些请求可以工作。您传递给该工作的价值观是什么?您通过哪些值而失败


编辑:我看到您正在使用Infragistics WebDialogWindow,并且您正在尝试获取对话框的最高坐标。这是关闭的坐标。它超出了Unit类的有效值范围。现在最大的问题是为什么会这样?

我猜您发送的是无法解析的内容:

System.Web.UI.WebControl.Unit..ctor(字符串值,CultureInfo区域性,UnitType defaultType)


Wowwwww!没关系!我只能说:
如果您正在使用Infragistics webdialogwindow,且IntialLocation设置为“居中”。把它放在你的页面顶部(不管怎样,它是一个“弹出窗口”,所以它“覆盖”了”你的页面内容)。因为我的问题是,当页面有超过32000px长度(不知道确切长度)的弹出窗口时,无法正确定位窗口,因为它无法将其放入int32。。。哇!这是一个多么大的错误

根据您的更新,这里有一个有根据的猜测

我对Infrastics WebDialog组件了解不多,但大多数对话框都集中在页面上。如果您的列与对话框的位置有关,则可能是根据显示的数据大小计算对话框的位置

如果数据太大而无法显示,则可能会将对话框置于理论上超出Unit类可接受值范围的位置

如果列被隐藏,则一切正常,因为对话框将适合窗口,并且坐标(特别是顶部坐标,如堆栈跟踪中所示)将为负值。如果它被显示,对话框将不会显示,因为它将超出浏览器窗口的范围


这只是理论和推测,但它是基于我们在这里看到的。

对不起,也许我看起来像个新手,但你所说的网络控制单元。。。我是这样看的,但不知道该怎么想