1

我正在使用以下示例来实现在单击单元格时编辑网格中的单元格:

http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/editondblclick/defaultcs.aspx

我希望它像示例中一样工作,但基于单击。我无法让它工作,因为我一直在 Telerik.Web.UI.WebResource 中隐藏以下错误:

0x800a139e - Microsoft JScript 运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:字符串未被识别为有效格式。

如果有人可以提供任何帮助,我会亏欠你我的第一个孩子,因为我正在拔头发试图让它发挥作用。

谢谢

最初,错误就在这里,但似乎并不重要:

protected void detailsGrid_ItemCreated(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem && e.Item.IsInEditMode)
    {
        ((e.Item as GridDataItem)["detailsGridMonthOneCol"].Controls[0] as RadNumericTextBox).Width = Unit.Pixel(50);   // ArgumentOutOfRangeException - Specified argument was out of the range of valid values
    }
}

detailsGridMonthOneCol 是我双击的列的名称。这似乎不是必需的,所以我将其注释掉,这时我收到以下错误:

Unhandled exception at line 15, column 16485 in http://localhost:63919/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=RadScriptManager1_TSM&compress=1&_TSM_CombinedScripts_=;;System.Web.Extensions,+Version=4.0.0.0,+Culture=neutral,+PublicKeyToken=31bf3856ad364e35:en-US:10a773fc-9022-49ec-acd6-8830962d8cbb:ea597d4b:b25378d2;Telerik.Web.UI,+Version=2012.2.815.40,+Culture=neutral,+PublicKeyToken=121fae78165ba3d4:en-US:bd12f06c-2391-4523-868e-0017245d9792:16e4e7cd:ed16cbdc:f7645509:24ee1bba:e330518b:1e771326:8e6f0d33:6a6d718d:58366029:4b09f651:a2c5be80:874f8ea2:c172ae1e:f46195d3:9cdfc6e7:2003d0b8:c8618e41:e4f8f289

0x800a139e - Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: The string was not recognized as a valid format.

代码被埋没了,但这里是抛出异常的地方:

var e=this._get_eventHandlerList().getHandler("endRequest"),b=false;if(e){var c=new Sys.WebForms.EndRequestEventArgs(a,f?f.dataItems:{},d);e(this,c);b=c.get_errorHandled()}if(a&&!b)throw a}
4

2 回答 2

0

代码并没有真正被埋没。Javascript 向您显示此错误。然而。错误发生在服务器端(Sys.WebForms.PageRequestManagerServerErrorException

检查事件查看器(开始 => 运行 => eventvwr)它将向您显示错误的更多详细信息。

于 2012-10-22T13:43:45.010 回答
0

在您的脚本管理器中,向 OnAsyncPostBackError="myScriptManager_AsyncPostBackError" 添加一个处理程序,并在后面的代码中将一个断点放在该方法的打开花括号上。

protected void myScriptManager_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{ // breakpoint this line.

}

这样做,很可能,这个断点会被命中,你可以调试你的代码,并检查谁在抛出异常。

这可能会有所帮助,但事实上,唯一能帮助您的方法是您提供完整的源代码。我建议您创建另一个项目,隔离您想要工作的代码,并将此代码发布到 github、ftp 等。请发布您的代码,我会提供帮助。

于 2012-10-22T11:13:15.720 回答