2016-05-16 19 views
0

Ich probiere die Liste in Auswahl mit jquery Ajax, aber ich brauche Hilfe!Fehler 500 auf VB NET JQUERY AJAX

diese Fehler

Failed to load resource: the server responded with a status of 500 (Internal Server Error) http://localhost:20440/admin/cadastro.aspx/GetMarcas 

mein Code

<!DOCTYPE html> 

<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 

<head runat="server"> 
    <meta charset="utf-8" /> 
    <title></title> 
    <link href="../assets/css/bootstrap.min.css" rel="stylesheet" /> 
    <link href="../assets/css/font-awesome.min.css" rel="stylesheet" /> 
    <link href="../assets/css/estilo.css" rel="stylesheet" /> 
    <script src="../assets/js/jquery-1.9.1.min.js"></script> 
    <script src="../assets/js/bootstrap.min.js"></script> 
    <script type="text/javascript"> 



    $(document).ready(function() { 
     $.ajax({ 


type: "POST", 
      contentType: "application/json; charset=UTF-8", 
      url: "cadastro.aspx/GetMarcas", 
      data: "{}", 
      dataType: "json", 
      success: function (result) { 


$('#marca').empty(); 
       $('#marca').append("<option value='0'>--Select--</option>"); 
       $.each(result.d, function (key, value) { 
        $("#marca").append($("<option></option>").val(value.Codigo).html(value.Descricao)); 
       }); 
      } 
     }); 
    }); 
</script> 

</head> 
<body> 
<nav class="navbar navbar-inverse navbar-static-top"> 
    <div class="container"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
       <span class="sr-only">Toggle navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
      </button> 
     </div> 
     <div id="navbar" class="navbar-collapse collapse"> 
      <ul class="nav navbar-nav"> 
       <li><a href="index.aspx">DASHBOARD <i class="fa fa-bar-chart"></i></a></li> 
       <li><a href="cadastro.aspx">CADASTRO <i class="fa fa-plus-circle"></i></a></li> 
       <li><a href="listagem.aspx">ITEMS CADASTRADOS <i class="fa fa-eye"></i></a></li> 
      </ul> 

     </div> 
    </div> 
</nav> 
<div class="container"> 
    <div class="col-md-12"> 



     <form action="/" method="post"> 
      <div class="col-md-4"> 
       <label>Marca</label> 
       <select class="form-control" name="marca" id="marca" runat="server"> 
       </select> 
      </div> 
      <div class="col-md-4"> 
       <label>Modelo</label> 
       <select class="form-control" name="modelo" id="modelo" runat="server"> 
        <option value="value">text</option> 
       </select> 
      </div> 
      <div class="col-md-4"> 
       <label>Cor</label> 
       <select class="form-control" name="cor" id="cor" runat="server"> 
        <option value="value">text</option> 
       </select> 
      </div> 

      <div class="col-md-4"> 
       <label>Ano</label> 
       <input type="text" name="ano" id="ano" class="form-control" /> 
      </div> 

      <div class="col-md-4"> 
       <label>Placa</label> 
       <input type="text" name="placa" id="placa" class="form-control" /> 
      </div> 
     </form> 
    </div> 
</div> 

Mein Controller

Imports System.Collections.Generic 
Imports System.Configuration 
Imports System.Data 
Imports System.Data.SqlClient 
Imports System.Web.Services 
Partial Class admin_cadastro 
Inherits System.Web.UI.Page 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not IsPostBack Then marca() End 
End Sub 

Public Class Marca 
    Public Property Codigo() As Integer 
     Get 
      Return m_Codigo 
     End Get 
     Set(value As Integer) 
      m_Codigo = value 
     End Set 
    End Property 
    Private m_Codigo As Integer 
    Public Property Descricao() As String 
     Get 
      Return m_Descricao 
     End Get 
     Set(value As String) 
      m_Descricao = value 
     End Set 
    End Property 
    Private m_Descricao As String 
End Class 

<WebMethod> 
Public Shared Function GetMarcas() As List(Of Marca) 
    Dim dt As New DataTable() 
    Dim objMarca As New List(Of Marca)() 

    Using con As New SqlConnection(ConfigurationManager.ConnectionStrings("conStr").ConnectionString) 
     Using cmd As New SqlCommand("exec sp_ListaMarcas", con) 
      con.Open() 
      Dim da As New SqlDataAdapter(cmd) 
      da.Fill(dt) 
      If dt.Rows.Count > 0 Then 
       For i As Integer = 0 To dt.Rows.Count - 1 
        objMarca.Add(New Marca() With { 
         .Codigo = Convert.ToInt32(dt.Rows(i)("Codigo")), 
         .Descricao = dt.Rows(i)("Descricao").ToString() 
        }) 
       Next 
      End If 
      Return objMarca 
     End Using 
    End Using 
End Function 





End Class 

I Methode Postbacks nicht mit, ich brauche Hilfe regar ding diesen Fehler, so dass die Option Daten aus der Datenbank auflisten.

+0

Haben Sie weitere Informationen zu der Ausnahme, die auf der Serverseite auftritt? – PhilDulac

Antwort

0

Dieser Artikel sollte viel für jQuery/Webforms Integration helfen: einen Haltepunkt durch Zugabe in Ihrem GetMarcas Methode

http://www.codeproject.com/Articles/95525/ASP-NET-and-jQuery-to-the-Max

Das erste, was sollten Sie prüfen, ob Sie die Server-Seite erreichen. Wenn Sie es erreichen, können Sie Ihren Weg in der Methode debuggen und mehr Informationen über den Fehler haben.

Mit Blick auf Ihren Code könnte es so einfach wie der String-Parameter, den Sie senden, um den Befehl zu initialisieren. Meine Vermutung ist, dass Sie eine gespeicherte Prozedur namens sp_ListaMarcas aufrufen möchten. Wenn ja, brauchen Sie nicht den exec Teil. Sie sollten es so tun:

Using cmd As New SqlCommand("sp_ListaMarcas", con)