【问题标题】:ERROR 500 on VB NET JQUERY AJAXVB NET JQUERY AJAX 上的错误 500
【发布时间】:2016-05-16 15:41:09
【问题描述】:

我尝试使用 jquery ajax 在选择选项中列出列表,但我需要帮助!

这是错误

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

我的代码

<!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>

我的控制器

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

我没有使用回发方法,我需要有关此错误的帮助,以便选项列出数据库中的数据。

【问题讨论】:

  • 你有更多关于服务器端发生的异常的信息吗?

标签: javascript jquery asp.net ajax vb.net


【解决方案1】:

这篇文章应该对 jQuery/Webforms 集成有很大帮助:

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

首先您应该检查的是您是否通过在GetMarcas 方法中添加断点来到达服务器端。如果你到达它,你将能够在方法中调试你的方式并获得有关错误的更多信息。

查看您的代码,它可能就像您发送的用于初始化命令的字符串参数一样简单。我的猜测是你想调用一个名为sp_ListaMarcas 的存储过程。如果是这样,您不需要 exec 部分。你应该这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 2018-03-14
    • 1970-01-01
    • 2016-07-14
    • 2012-12-15
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多