Ich bin ein C# aspx Web-Formular mit einem WebMethod verwenden, aber ich habe ein Problem versucht, eine Klasse mit öffentlichen Methoden aufrufe, erhalte ich diese Fehlermeldung:Objektverweis für die nicht-statische Feld Methode oder Eigenschaft erforderlich
an object reference is required for the nonstatic field method or property.
Hier ist ein Beispiel für meinen Code.
DB_Class
public int Cuenta(User us, int opcion)
{
string sql = "";
int res = 0;
switch (opcion)
{
//Insert
case 1:
sql = "query...";
break;
//Update
case 2:
sql = "";
break;
//Delete
case 3:
sql = "";
break;
}
//More code, using executenonquery etc. there is no problem with that.
return res;
}
ASPX, Webmethode Code
db_Class conn = new db_Class();
[WebMethod]
public static string RegistrarCuenta(int id, string usuario, string nombre, string apellido, string email, string password, string fechaNacimiento, int tipo, int op)
{
string respuesta = "Ha Ocurrido Un error.";
try
{
User us = new User(id, usuario, nombre, apellido, email, password, fechaNacimiento, tipo);
//I get the error here.
int resp = conn.Cuenta(us, op);
if (resp > 0)
respuesta = "Operacion Realizada Correctamente.";
}
catch (Exception ex)
{
respuesta = "Ha Ocurrido un error: " + ex.Message;
}
return respuesta;
}
ich hier nach Lösungen, aber ich nicht gefunden etwas wie mein Problem (versuchen, eine Methode in einer anderen Klasse zu nennen) . Auch ich habe versucht, meine Webmethode zu öffentlichen String intad der öffentlichen statischen String ändern, aber mit diesem jetzt bekomme ich diesen Browser Fehler: Unbekannte Web-Methode, ich weiß nicht, ob dieses Problem für eine schlechte URL-Referenz in meinem Ajax-Code ist, hier ist meine ajax code:
$.ajax({
type: 'POST',
url: 'registrar.aspx/RegistrarCuenta',
data: '{' +
'"id":' + id +
',"usuario":"' + user +
'","nombre":"' + nombre +
'","apellido":"' + apellido +
'","email":"' + email +
'","password":"' + password +
'","fechaNacimiento":"' + date +
'","tipo":' + 2 +
',"op":' + 1 + '}',
dataType: "json", // Tipo de datos que se envian
contentType: "application/json", // Tipo de datos qu se envian
timeout: 60000, // Tiempo de espera para que occura un error de timeout
error: function (xhr) { // Evento que se dispara al ocurrir un error en la peticion
swal("Algo a salido mal...", "Error!", "error")
},
success: function (data) { // Evento que se dispara cuando se realiza correctamente
swal(data.d, "", "success");
}
});
PD. Registrar.aspx befindet sich in meinem Stammordner, nein in einem Unterordner usw. im Stammverzeichnis.
Wie kann ich mein Problem lösen? Oder was kann ich ändern, damit es funktioniert?
Thank you so much! –