Ich habe unzählige Beiträge durchgemacht und kann nicht herausfinden, was ich falsch mache. Ich habe eine ASP.NET -Website mit C# Code dahinter. Darin benötige ich auf der Seite .aspx eine JavaScript -Funktion, um eine Methode auf der Seite ASPX.cs auszulösen. Ich habe den folgenden Code geschrieben: < /p>
.aspx Seite (mein Skriptmanager): < /p>
< /code>
Die JavaScript -Funktion mit AJAX auf der Seite .aspx: < /p>
function ValidateForm() {
$.ajax({
type: "POST",
url: "default.aspx/Save",
data: {},
contentType: "application/json; charset=utf=8",
// dataType: "json", // NOT NEEDED IF NO RETURN VALUE
async: true, // OPTIONAL
success: function (msg) {
alert("success");
},
error: function (msg) {
alert("failed");
}
});
}
< /code>
Die Seite ASPX.cs (Code hinter Seite): < /p>
[WebMethod]
public static void Save()
{
// throw new DivideByZeroException(); // USED THIS TO VERIFY IF WEBMETHOD IS HIT.
_default obj = new _default();
obj.Show("Save Method Works"); // THIS IS A POPUP MESSAGE BOX
obj.btnSave_Click(); // THIS IS THE SAVE METHOD ON THIS PAGE THAT WE WANT TO RUN
}
public void btnSave_Click()
{
// METHODS CODE HERE
}
< /code>
Die ValidateForm -Funktion reagiert mit "Erfolg", sie scheint jedoch nicht das WebMethod auf dem Code hinter der Seite auszulösen. Wenn ich den i.h. Console -Netzwerk -Registerkarte kann ich die Postanforderung sehen. Auf dem Code hinter der Methode löst er die Haltepunkte im Debug jedoch nie aus (nicht sicher, ob er nach einigen Beiträgen sollte). An einem Punkt habe ich die Zeile eingefügt, um eine Dividebyzero -Ausnahme auszulegen, und es hat die Ausnahme nie erhöht. Es scheint jedoch nicht, dass der WebMethod jemals feuert. Jede Hilfe würde geschätzt!
Ajax zeigt an, dass WebMethod erfolgreich war, aber es löst den WebMethod im Code dahinter nie aus ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post