Следующий jQuery прекрасно работает на существующем веб-сайте asp.net. Я преобразовал его в веб-приложение asp.net, и следующий код больше не работает. На клиенте нет ошибки компиляции, и, похоже, она срабатывает просто отлично. Я получаю предупреждение об успешном завершении, но функция Case.aspx / DOFE_update никогда не запускается. Вот странная часть, если я изменю URL-адрес на sumtingwong.aspx / DOFE_update, очевидно, что он потерпит неудачу, потому что URL-адрес не существует, но если я изменю URL-адрес на Case.aspx / sumtingwong, он не потерпит неудачу, даже если думал, что метод на странице не существовать. Ложка не существует. В матрице должен быть сбой.
$(function () {
$("[id=textboxDOFE]").change(function () {
var DOFE = $(this).val();
var CaseID = $('[id=CaseID]').val();
$.ajax({
type: "POST",
url: "Case.aspx/DOFE_update",
data: '{"CaseID":' + CaseID + ', "DOFE":"' + DOFE + '"}',
contentType: "application/json;charset=utf-8",
dataType: "json",
async: false,
error: function (request) {
alert(request.responseText);
},
success: function (response) {
alert("success");
}
});
});
});
Код в файле Case.aspx.vb:
<WebMethod()>
<ScriptMethod()>
Public Shared Function DOFE_update(CaseID As Integer, DOFE As String) As Integer
If IsDate(DOFE) Then
Dim stringCommand As String = "UPDATE dbo.Cases SET DOFE=@DOFE, lockedDOFE=1 WHERE CaseID=@CaseID;"
Using con As New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("myconnectionstring").ConnectionString)
Dim cmd As New SqlCommand(stringCommand, con)
cmd.CommandType = Data.CommandType.Text
With cmd.Parameters
.AddWithValue("@CaseID", CaseID)
.AddWithValue("@DOFE", IIf(DOFE = "", System.DBNull.Value, DOFE))
End With
con.Open()
cmd.ExecuteNonQuery()
End Using
Return 1
Else
Return 0
End If
End Function