我編寫了像網上其他人一樣,但我的WebMethod沒有從後操作中擊中。我相信我的代碼很好,但我會發布我的代碼以防萬一。 我在WebMethod中放置了一個斷點,這是我知道它不被調用的方式。 任何幫助,將不勝感激。AJAX POST到WEB方法不工作我
AXAJ
var div = document.getElementById(this.id);
var divid = div.getElementsByClassName("portlet-id");
varSQL="UPDATE [ToDoTrack] SET [Status] = '" + this.id + "' WHERE [ID] = '" + divid[0].innerHTML + "'";
var item = {};
item.status = this.id;
item.id = divid[0].innerHTML;
var Data = '{varSQL: ' + varSQL + ' }'
$.ajax({
type: "POST",
url: "ToDoTrack.aspx/UpdateDB",
data: Data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response)
{
window.location.reload();
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert("Status: " + textStatus);
alert("Error: " + errorThrown);
}
});
代碼隱藏
[WebMethod]
[ScriptMethod]
public static void UpdateDB(string varSQL)
{
string connStr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(varSQL))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
從移動設備發佈原諒錯誤和錯誤的語法。 –
謝謝EDC,但即使SQL的字符串已經通過,我也希望WebMethod至少可以被調用,但事實並非如此。 – Dennis
關於安全性,我認爲這可能是一個壞主意,但我只是想測試,看看數據庫是否得到更新 – Dennis