の選択された行から取得したGridDataItem
オブジェクトを送信しようとしています。
しかし、私は捕捉されない例外RangeErrorを取得しています:私は、コード、私のAJAXの成功火災、私は持っているブレークポイントを実行すると:エラー:「最大呼び出しスタックサイズを超えています」
編集:私はこのAJAX呼び出しを行うときに最大コールスタックサイズはエラーを超えてWebMethodは決してヒットしません。この後、ページが一時的にフリーズし、私は上記のエラーが発生します。
jQueryの
$(document).ready(function() {
$('#<%=btnTransferIn.ClientID%>').on('click', function() {
var grid = $find("<%= gridStudents.ClientID %>"); //Returns an Object
var gridSelItems = grid.get_selectedItems(); //Returns Array
//var selectedItem = gridSelItems[0]; //Returns an Object
AjaxTransfer(gridSelItems);
});
});
function AjaxTransfer(selectedItem) {
$.ajax({
type: "POST",
url: "GradeSheet2.aspx/btnTransferIn_Click",
data: { 'gsi': selectedItem },
dataType: "json",
contentType: "application/json; charset=utf-8",
success: alert('Complete')
})
}
C#
[System.Web.Services.WebMethod]
public static string btnTransferIn_Click(GridDataItem gsi)
{
return "Done";
}
web.configファイル
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<appSettings>
<add key="AISAnalogPATH" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="ExternalCAIPath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="AISDigitalPath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="AuthorwarePath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="QuestionMarkPath" value="\\tms-sse-01\tms_share\cbtExecutables\" />
<add key="WelcomeMessage" value="Welcome to the TMS 2016 Program"/>
<add key="Location" value="STL"/>
<add key="TMSPagesConnectionString" value="server=tms-sse-01;User ID=xcv;Password=mumumu777;Initial Catalog=qwer12344567;"/>
<add key="TMSConnectionString" value="server=tms-sse-01;User ID=xcv;Password=mumumu777;Initial Catalog=qwer12344567;"/>
<add key="LogPath" value="e:\TMS\TMS_Log\"/>
<add key="cbtPath" value="E:\C17CBT\"/>
<add key="xmlPath" value="E:\TMS_XML\"/>
<add key="TMSVersionId" value="2.0"/>
<add key="PageHeight" value="750px"/>
<add key="Telerik.ScriptManager.TelerikCdn" value="Disabled"/>
<add key="Telerik.StyleSheetManager.TelerikCdn" value="Disabled"/>
</appSettings>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<remove name="ChartImage_axd"/>
<remove name="Telerik_Web_UI_SpellCheckHandler_axd"/>
<remove name="Telerik_Web_UI_DialogHandler_aspx"/>
<remove name="Telerik_RadUploadProgressHandler_ashx"/>
<remove name="Telerik_Web_UI_WebResource_axd"/>
<add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode"/>
<add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode"/>
<add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode"/>
<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode"/>
<add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode"/>
</handlers>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<httpHandlers>
<add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
<add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false"/>
<add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5"/>
<authentication mode="Windows"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>
<add tagPrefix="TMSWeb" tagName="PersonList" src="~/TMS/Controls/PersonList.ascx"/>
<add tagPrefix="TMSWeb" tagName="DateTemplate" src="~/TMS/Controls/DateTemplate.ascx"/>
</controls>
</pages>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.1.0.4" newVersion="2.1.0.4"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
私はWebMetを変更する場合、私は、気づきましたhodのパラメータを文字列に渡し、オブジェクトの代わりに文字列を渡すと動作します。だから、オブジェクトに何か問題があるか、WebMethodに渡しているようです。
私はAJAX呼び出しを行う前にコンソールでオブジェクトをチェックしましたが、それは問題ないと思います。しかし、私はすべてのことをよく理解していません。
私はあまりにも重要なものを残していないと思っています。より多くの情報が必要な場合はお知らせください。
ありがとうございます!
いくつかのコードを投稿してください。 – Rex
JSをファイルで区切っていますか、それともスクリプトタグですか?いくつかのコードを投稿すると、より多くのことを理解するのに役立ちます。 – Rex
スクリプトタグには違いはありません。 – CrazyPaste