Я пытаюсь передать параметры в свой код с помощью WebMethod .
Я достигаю успешного завершения ajax, но метод в моем коде aspx.cs позади не вызывается, и у меня ошибка.
Операция не выполнена! Подробности: '[объект объекта]
Я использую мастер-страницу, если она имеет значение.
Как решить эту проблему?
Пожалуйста, не могли бы вы помогите мне?
Javascript:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script>
<script type="text/javascript">
$(function () {
$("[id*=imgfasi]").bind("click", function () {
var fasi = {};
fasi.Txseltlc = $("[id*=txseltlc]").val();
fasi.Txrescldisa = $("[id*=txrescldisa]").val();
fasi.Ddlauttlc = $("[id*=ddlauttlc]").val();
$.ajax({
type: "POST",
url: "Default.aspx/Savepnfasi",
data: '{fasi: ' + JSON.stringify(fasi) + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
if (response == "1") {
alert("Success!");
} else {
alert("Operation failed! Details: " + response);
}
}
});
return false;
});
});
</script>
код позади:
public class pnfasiweb
{
public string Txseltlc { get; set; }
public string Txrescldisa { get; set; }
public string Ddlauttlc { get; set; }
}
[WebMethod]
[ScriptMethod]
public static void Savepnfasi(pnfasiweb fasi)
{
if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["id"]))
{
string ProductID = Mpskmt3.Base64ForUrlDecode(HttpContext.Current.Request.QueryString["id"].ToString());
string sql = String.Format(@" UPDATE `dotable` ");
sql += String.Format(" SET ");
sql += String.Format(" Aut = ?, ");
sql += String.Format(" Res = ?, ");
sql += String.Format(" Dur = ?, ");
sql += String.Format(" Comp = CASE WHEN Comp IS NULL THEN ? ELSE CONCAT(Comp, '; ', ?) END, ");
sql += String.Format(" doDateHour = CURRENT_TIMESTAMP() ");
sql += String.Format(" WHERE ID = ?; ");
using (OdbcConnection cn =
new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQLlocalhost"].ConnectionString))
{
using (OdbcCommand command =
new OdbcCommand(sql, cn))
{
try
{
command.Connection.Open();
command.Parameters.AddWithValue("param1", fasi.Ddlauttlc.ToString());
command.Parameters.AddWithValue("param2", Convert.ToInt32(fasi.Txrescldisa.ToString()));
command.Parameters.AddWithValue("param3", Convert.ToInt32(fasi.Txseltlc.ToString()));
command.Parameters.AddWithValue("param4", Mpskmt3.Container.TheObjectPropertyName);
command.Parameters.AddWithValue("param5", Mpskmt3.Container.TheObjectPropertyName);
command.Parameters.AddWithValue("param6", ProductID.ToString());
command.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
command.Connection.Close();
}
}
}
}
else
{
//Error
}
}
# Edit01