簡體   English   中英

Asp.net Jquery無法正常工作獲取更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM