2017-08-03 7 views
0

Meine Dropdown-Funktion funktioniert gut. Aber WebMethod gescheitertFehler beim Laden von WebMethod

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $("[id*=drpSub]").change(function() { 
       var drpSub = $("[id*=drpSub]").val(); 
       var Gs_Id = $("[id*=ddlClass]").val(); 
       alert(drpSub); 
       $.ajax({ 
        type: 'GET', 
        url: 'assignments1.aspx/GetAssignmentType', 
        data: {}, 
        dataType: 'json', 
        success: function (r) { 
         //var ddlCustomers = $("[id*=drpType]"); 
         //ddlCustomers.empty().append('<option selected="selected" value="0">Please select</option>'); 
         //$.each(r.d, function() { 
         // ddlCustomers.append($("<option></option>").val(this['Value']).html(this['Text'])); 
         //}); 
        } 
       }); 
      }); 
     }); 

-Code laden Hinter

[WebMethod] 
public static List<ListItem> GetAssignmentType() 
    { 
     string query = "SELECT OP_AssignmentType.AT_Id, OP_AssignmentType.AT_Type + ' (' + CONVERT(varchar(10), COUNT(8)) + ')' AS AT_Type FROM OP_Assignments INNER JOIN OP_AssignmentType ON OP_Assignments.OP_AS_TypeId = OP_AssignmentType.AT_Id WHERE  (OP_Assignments.OP_AS_SubjId = '" + 10 + "') AND (OP_Assignments.OP_GS_IdNo = 37) And OP_AS_LastDate>='" + DateTime.Now + "' GROUP BY OP_AssignmentType.AT_Id, OP_AssignmentType.AT_Type"; 
     string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(constr)) 
     { 
      using (SqlCommand cmd = new SqlCommand(query)) 
      { 
       List<ListItem> customers = new List<ListItem>(); 
       cmd.CommandType = CommandType.Text; 
       cmd.Connection = con; 
       con.Open(); 
       using (SqlDataReader sdr = cmd.ExecuteReader()) 
       { 
        while (sdr.Read()) 
        { 
         customers.Add(new ListItem 
         { 
          Value = sdr["Sub_Id"].ToString(), 
          Text = sdr["Subject_Name"].ToString() 
         }); 
        } 
       } 
       con.Close(); 
       return customers; 
      } 
     } 
    } 

Ich weiß Code innerhalb des Webmethod falsch sein kann. Mein aktuelles Problem ist, dass die Seite nicht geladen wird, wenn sie in den Web-Code eingefügt wird. Meine Konsole ist fehlerfrei. Ist sie ein Fehler in meiner jquey.Please Hilfe

Antwort

0

Sie haben contentType: "application/json; charset=utf-8", in Ihrem Ajax hinzufügen, so würde Ihr Ajax wie seine

  $.ajax({ 
       type: 'GET', 
       url: 'Default.aspx/GetAssignmentType', 
       data: {}, 
       contentType: "application/json; charset=utf-8", 
       dataType: 'json', 
       success: function (r) { 
        //var ddlCustomers = $("[id*=drpType]"); 
        //ddlCustomers.empty().append('<option selected="selected" value="0">Please select</option>'); 
        //$.each(r.d, function() { 
        // ddlCustomers.append($("<option></option>").val(this['Value']).html(this['Text'])); 
        //}); 
       } 
      }); 
+0

Sie für Ihre Wiederholung danken. Das ist mein neuer Ajax-Code, aber ich bin in der gleichen Problem-URL: 'assignments1.aspx/GetAssignmentType', daten: {}, dataType: 'json', typ: 'GET', contentType: 'application/json ; charset = utf-8 ', – Jks

+0

@Jks, immer noch nicht auf Debug-Punkt treffen? –

+0

nicht nicht schlagen .. Ich weiß nicht, warum es so – Jks