Actionmethod не может получить двойное значение в параметре из сообщения ajax - PullRequest
1 голос
/ 04 ноября 2019

С помощью свойства данных в сообщении ajax я хочу отправить параметр в метод действия. Все значения в объекте параметра проходят, кроме десятичных / двойных значений. Почему это так и что я могу с этим поделать?

Я попытался изменить значение на строку и даже int. И он проходит, но важно, чтобы он проходил как десятичное или двойное число.

                 mapHub.client.requestForHelpInClient = function (requestDetails) {
                $.ajax({
                    type: "POST",
                    url: '@Url.Action("RequestPartialView", "Supplier")',
                    data: requestDetails,
                    success: function (response) {
                        $("#Request").html(response);
                    },
                    error: function (error) {
                        console.log(error);
                    }
                });                
            }



[HttpPost]
    public ActionResult RequestPartialView(RequestDetails reqDetails)
    {
        RequestViewModel reqVm = new RequestViewModel() { requestDetails = reqDetails };
        return PartialView("RequestPartialView",reqVm);
    }

// Это объект, который я передаю в функцию requestForHelpInClient, которая выполняет вызов ajax

 public class RequestDetails
{
    public int CustomerId { get; set; }
    public Customer Customer { get; set; }
    public int NumberOfHours { get; set; }
    public string TypeOfMachine { get; set; }
    public List<Supplier> NearestSupplierList { get; set; }
}
public class Customer : MapClient
{
    public int CustomerID { get; set; }
    public string AspNetUserID { get; set; }
    public string Name { get; set; }
    public double Latitude { get; set; }
    public double Longitude { get; set; }
}

каждое значение проходит от вызова ajax до параметра метода действия, за исключением десятичных значений широты и долготы.

Я не получаю сообщения об ошибке. Значение просто говорит «0»

1 Ответ

1 голос
/ 04 ноября 2019

Вам необходимо привести в порядок свой объект перед публикацией mapHub.client.requestForHelpInClient = function (requestDetails) { $.ajax({ type: "POST", url: '@Url.Action("RequestPartialView", "Supplier")', data: JSON.stringify(requestDetails), success: function (response) { $("#Request").html(response); }, error: function (error) { console.log(error); } });<br> }

Это должно исправить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...