Devaraneni Laxman Rao Ответов: 3

Как показать мои сообщения об ошибках в веб-методе


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

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

$.ajax({
           type: "POST",
           url: "WebForm1.aspx/AddRecord",
           data: '{"A": "' + a + '"}',
           contentType: "application/json; charset=utf-8",
           dataType: "json"
)}

webmethod
Public Shared Sub AddRecord(A As String)
       Dim con As New SqlConnection(ConfigurationManager.AppSettings("test").ToString())
       Try
           Dim sqlCmd = New SqlCommand("select Top 1 A from MDT_MOBILE_FEATURES_SETTINGS WHERE A = @a")

           sqlCmd.Parameters.Add(New SqlParameter("@a", a))

           sqlCmd.CommandType = CommandType.Text
           sqlCmd.Connection = con
           con.Open()
           Dim result = sqlCmd.ExecuteScalar()

           If result IsNot Nothing Then
               Throw New Exception(String.Format("A {0} already existed.", FName))

           End If

           Dim sqlInsertCommand = New SqlCommand("INSERT MDT_MOBILE_FEATURES_SETTINGS(A) VALUES(@a)")

           sqlInsertCommand.Parameters.AddWithValue("@a", a)
           sqlInsertCommand.Connection = con


           sqlInsertCommand.ExecuteNonQuery()

           con.Close()
       Catch ex As Exception
           Console.WriteLine("Exception caught: {0}", ex.Message)
       End Try
   End Sub

Suvendu Shekhar Giri

Так в чем же проблема с проверенным кодом?

Devaraneni Laxman Rao

я хочу отобразить сообщение об ошибке

3 Ответов

Рейтинг:
1

Member 12953334

Ну, во-первых...

$.ajax({
    type: "POST",
    url: "WebForm1.aspx/AddRecord",
    data: {A: a},
    contentType: "application/json; charset=utf-8",
    dataType: "json"
}).done(function(response){
   // do something with the  response
});


Рейтинг:
1

Ashwin. Shetty

Посмотрите, может ли это помочь, код написан на C#, но он должен быть в состоянии помочь вам.
Обработка исключений в WebAPI[^]


Рейтинг:
0

Singh Vijay Kumar

Веб-методы OOTB обрабатывает ошибку на клиенте, вам просто нужно бросить свое сообщение об ошибке.

См. пример кода для вашей справки ниже.

На стороне веб-сервера веб-метод

[WebMethod]
        public List<Models.SubOrdinates> getXXXX(string UserId)
        {
            try
            {
                    DataTable dt = bal.getSubXXXXOrdinates(UserId).Tables[0];
                    List<Models.SubXXXXs> SubXXXX = new List<Models.SubXXXXs>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        DateTime dtPeriodStart = DateTime.MinValue;
                        DateTime dtPeriodEnd = DateTime.MinValue;
                        if (DateTime.TryParse(dr["PeriodStart"].ToString(), out dtPeriodStart) && DateTime.TryParse(dr["PeriodEnd"].ToString(), out dtPeriodEnd))
                        {
                            SubOrdinates.Add(new Models.SubOrdinates()
                            {
                                PeriodStart = dtPeriodStart,
                                PeriodEnd = dtPeriodEnd
                            });
                        }
                    }
                    return SubOrdinates;
            }
            catch (Exception ex)
            {
                string ErrorCode = util.WriteLog(ex.Message);
                throw new Exception("An Error has occured with Error Code : " + ErrorCode + " Please contact support team");
            }
        }




у клиентов
$.ajax({
        type: "POST",
        url: "wsGetData.asmx/getXXXXXX",
        data: JSON.stringify({ UserId: userId }),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: CallBackFunction,
        error: function (xhr, status, error) {
            var exception = JSON.parse(xhr.responseText);
            ErrorMessageModel('Error', exception.Message);
        },
        failure: function (response) {
            ErrorMessageModel('Error', response.d);
        }
    });


Devaraneni Laxman Rao

в vb.net
util.writelog() не работает

Singh Vijay Kumar

это должно сработать для вас,
throw new Exception("произошла ошибка с ошибкой:" + ex. Message + " пожалуйста, свяжитесь со службой поддержки");
(Формат может быть разным для vb.net)
Код, данный мной, был образцом кода и сборки для нашей среды.
util.writeLog () - это мой пользовательский класс