KyLim0211 Ответов: 2

Jquery не удается вызвать функцию C#


<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication10._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <script type="text/javascript">
    $(document).ready(function () {
        $("#userinput").on('input', function () {
            if ($(this).val().length >= 8) {
                $.ajax({
                    type: "POST",
                    url: "Default.aspx/fillfields",
                    contentType: "application/json; charset=utf-8",
                    data: '{employeeID: "' + $("#userinput").val() + '"}',
                    dataType: "json"
                });
                $('#userinput').val("");
            }
        });
    });

    </script>
    <br>
    <div style="text-align: center">
        <br>
        <input autofocus="autofocus"  id="userinput" />
        <br>
        <hr>
    </div>


using System;
using System.Web.UI;
using System.Data.SqlClient;
using System.Configuration;
namespace WebApplication10
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        [System.Web.Services.WebMethod]
        public static void fillfields(string employeeID)
        {
            string constr = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
            using (SqlConnection connection = new SqlConnection(constr))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand("TMS_INSERT", connection))
                {
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@EMP_ID", employeeID);
                    command.ExecuteNonQuery();
                }
                connection.Close();
            }
        }
    }
}

почему мой код не может вызвать функцию c#?код выглядит нормально, но не работает : (

Что я уже пробовал:

пожалуйста, помогите и направьте меня, попробовал заглянуть в консоль broswer, но она пустая

Suvendu Shekhar Giri

Какие входные данные вы проходите во время выполнения теста?
Примечание:

if ($(this).val().length >= 8) 

KyLim0211

иначе, если один операнд

ZurdoDev

1. не добавляйте комментарии к собственному вопросу. Вместо этого отвечайте на комментарии.
2.это очень, очень простая вещь для вас, чтобы исправить, и на самом деле, только вы можете. Мы не можем запустить ваш код. Итак, поставьте несколько точек останова и выполните простую отладку. Вы найдете ответ быстрее, чем вам потребовалось, чтобы опубликовать этот вопрос.

F-ES Sitecore

Сначала проверьте, что событие действительно срабатывает, затем проверьте, что оно вызывает метод ajax, затем проверьте вкладку Сеть инструментов Вашего браузера, чтобы увидеть, вышел ли вызов и возникли ли какие-либо ошибки.

Vincent Maverick Durano

Вы пробовали отлаживать свой код, чтобы выяснить, что пошло не так? Да отлаживайте, отлаживайте и отлаживайте!

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

"_" отсутствует в url-адресе

url: "_Default.aspx/fillfields",


Рейтинг:
1

Member 12792770

Цитата:
Вы используете этот код, который является неправильным :-

сведения: '{"кодсотрудника": "' + $("#иначе, если один операнд").функция val() + '"}',

Правильный код находится здесь:-

сведения: "{кодсотрудника: '" + $("#иначе, если один операнд").функция val() + "'}",

* Примечание: - Вы должны следить за местами котировок.
Спасибо