asp.net mvc: получить число с плавающей запятой javascript в скрытый ввод - PullRequest
0 голосов
/ 19 июля 2011

Я пытаюсь отправить мою модель обратно в контроллер с двумя значениями, полученными из элемента управления карты.Я подумал, что лучшим решением было бы поместить эти значения в скрытый ввод 'Html.hiddenfor ()', чтобы контроллер получил значения в модели.

Это мой JavaScript

endDragDetails = function (e) {
    alert("Event Info - start drag \n" + "Start Latitude/Longitude: " + e.entity.getLocation());
    var locationx = e.entity.getLocation();
    alert(locationx.latitude);
    document.getElementById("longitude").value = parseFloat(locationx.longitude);
}

Окна предупреждений показывают, что в locationx var есть значение с плавающей запятой.Я попытался передать его с помощью функции parseFloat () В случае, если число с плавающей запятой на самом деле является строкой.Идентификатор долготы действительно "долгота", я проверил это в источнике HTML.

это моя часть cshtml

@Html.HiddenFor(m => m.longitude);

Все, что я получаю, это 0,0.Я что-то упускаю в этом решении?

ОБНОВЛЕНИЕ Если я изменяю hiddenfor с помощью @ Html.TextBoxFor (m => m.longitude), он отображает долготу в моем текстовом поле после выполнения JavaScriptметод.Однако он не отправляет его в контроллер, значение остается 0,0.Однако он отправляет все мои другие значения, такие как, например, строка имени, ... в контроллер.

1 Ответ

2 голосов
/ 19 июля 2011

Я только что быстро проверил, что ты делаешь, и все кажется нормальным.Тем не менее, я немного сомневаюсь в значении, которое вы получаете из locationx.longitude, так как вы не можете разобрать 0,0 или аналогичное значение как число с плавающей точкой.И вам не нужно это делать при назначении скрытому полю, так как оно все равно обрабатывает его как строку.

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