[英]Asp.net Jquery does not work get update
我正在嘗試使用ASP.NET JQUERY AJAX調用更新數據
但是它不會更新數據。
我該如何解決這個錯誤?
Java腳本
<script type="text/javascript">
//Guncelleme Alanı Oluştur
function guncellemeolustur(id) {
$.ajax({
type: "POST",
url: "AsynUygulama.aspx/guncellemealani",
data: "{id:'" + id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#" + id).fadeOut("slow", function () {
$(this).html(msg.d)}).fadeIn("slow");
}
});
}
HTML標記
<div>
<h2>Departman Tablosu</h2>
<table border="1">
<thead>
<th>Departman Adı</th>
<th style="text-align: center;">İşlem</th>
<th style="text-align: center;">İşlem</th>
</thead>
<tbody>
<asp:Repeater ID="Repeat1" runat="server">
<itemtemplate>
<tr id='<%# Eval("ID") %>'>
<td><%# Eval("Ucret") %> - <%# Eval("ParaTipi") %></td>
<td><%# Eval("YasGrubu") %></td>
<td>
<input type="button" onclick="guncellemeolustur(<%# Eval("ID") %>)" value="Güncelle" />
<input type="button" id="silbtn" style="margin-left: 10px;" onclick="silkayit(<%# Eval("ID") %>)" value="Sil" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</tbody>
</table>
</div>
Web方法
[System.Web.Services.WebMethod]
public static string guncellemealani(Int32 id)
{
SiteDB system = new SiteDB();
string sonuc = "";
SqlConnection bg = system.baglan();
SqlCommand komut = new SqlCommand("select * from TurCocukFiyat where ID=@id", bg);
komut.Parameters.AddWithValue("@id", id);
bg.Open();
SqlDataReader dr = komut.ExecuteReader();
dr.Read();
sonuc = "<input id=guncelle type=text value=" + dr["TurAdi"].ToString() + " /><input type=button value=Güncelle onclick=guncelleislemi(" + id + ",document.getElementById('guncelle').value) />";
bg.Close();
return sonuc;
}
執行更新的代碼:
Java腳本
//Guncelleme Islemi Gerceklestirir
function guncelleislemi(id, kayit) {
$.ajax({
type: "POST",
url: "AsynUygulama.aspx/guncellemeyap",
data: "{kayit:'" + kayit + "', id:'" + id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
usercontrolgetir("AsynUserControl.ascx");
}
});
}
Web方法
[System.Web.Services.WebMethod]
public static string guncellemeyap(Int32 id, string kayit)
{
SiteDB system = new SiteDB();
SqlConnection bg = system.baglan();
SqlCommand komut = new SqlCommand("update TurCocukFiyat set ID='" + id + "' and BirimAdi=" + kayit, bg);
bg.Open();
komut.ExecuteNonQuery();
bg.Close();
return "guncelleme basarili";
}
嘗試下面的代碼,請傳遞id的值不帶引號,因為webmethod中的接受參數的類型為int
function guncellemeolustur(id) {
$.ajax({
type: "POST",
url: "AsynUygulama.aspx/guncellemealani",
data: "{id:" + id + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#" + id).fadeOut("slow", function () {
$(this).html(msg.d)}).fadeIn("slow");
}
});
}
我建議使用以下代碼添加jquery ajax錯誤回調:
function guncellemeolustur(id) {
$.ajax({
type: "POST",
url: "AsynUygulama.aspx/guncellemealani",
data: "{id:" + id + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#" + id).fadeOut("slow", function () {
$(this).html(msg.d)}).fadeIn("slow");
}
error: function(jqXHR){
glb = jqXHR; //creates a global var with the response from server
}
});
}
現在,您可以從瀏覽器開發人員工具控制台檢查glb。 看看glb.responseText。 它會給你從服務器返回的錯誤。 如果錯誤沒有幫助您,請在此處粘貼。 也許可以幫助我\\用戶進行分析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.