Ich habe über diesen Fehler viele Artikel gelesen, ich habe viele Lösungen ausprobiert, aber nichts funktioniert! Ich bin mit diesem Fehler seit 3 Tagen fest, ich hoffe, dass mir jemand helfen kann, danke! Was ich tue, ist meine Webservice von meinem MyPage.aspx durch zwei Möglichkeiten Aufruf:Objekt des Typs 'Objekt' kann nicht in den Typ 'Array' konvertiert werden
A-)
MyWebservice.MyWebMethod("test",LunchMyFunction);
function LunchMyFunction(response) {
alert(response); // [object Object]
var gridView = $find('<%= MyGridView.ClientID %>');
gridView.set_dataSource(response);
gridView.dataBind();
}
Hier ist der gridview gefüllt ist richtig und alles ist in Ordnung.
B-)
$.ajax({
type: "POST",
url: 'MyWebservice.asmx/MyWebMethod',
data:{ testVal : "test" },
success: function (response) {
alert(response); // [object XMLDocument]
var gridView = $find('<%= MyGridView.ClientID %>');
try {
gridView.set_dataSource(response);
} catch (err) {
alert(err);
}
gridView.dataBind();
},
error: function (err) { alert(err.statusText); }
});
Hier ist meine Web-Methode ist die Vollendung es ist Arbeit, aber wenn es um setDataSource kommt: ein Fehler ausgelöst wird: Sys.ArgumentTypeException: Sys.ArgumentTypeException: Objekt des Typs 'Objekt' kann nicht in den Typ 'Array' konvertiert werden. Parametername: Wert
Ich dachte, dass dieser Fehler ausgelöst wird, da der Antworttyp in beiden Fällen unterschiedlich ist, also habe ich versucht, Typen als json festzulegen, um [object Object] zurückzugeben. Nach dem Zurückgeben des Objekts gibt die Methode immer noch den gleichen Fehler aus. Ich habe ScriptMode = "Release" in meinem ToolkitScriptManager versucht, das sich auf meiner Masterseite nicht in mypage.aspx befindet, aber nichts hat sich geändert.
<cc1:ToolkitScriptManager ScriptMode="Release" ID="ToolkitScriptManager1" AsyncPostBackTimeout="600" EnablePartialRendering="true" EnablePageMethods="true" runat="server">
<Services>
<asp:ServiceReference path="MyWebservice.asmx" />
</Services>
<Scripts>
<asp:ScriptReference path="~/JavaScript/WebKitFix.js" />
</Scripts>
</cc1:ToolkitScriptManager>
Die Montage von cc1 ist AjaxControlToolkit und MyPage.aspx ist in Master-Seite enthalten. Irgendeine Idee über was könnte das Problem sein? Wie kann ich es lösen?
Sie bekommen Antwort als ein Objekt '{}' aber Datenquelle erwartet ein Array '[]'. Daher Fehler – Rajesh
@Rajesh Warum Aufruf der gleichen Funktion gibt Antwort auf zwei verschiedene Arten zurück? Wie kann ich es dann reparieren? –