MVC asp.net, получить данные из текстового поля в функции JavaScript в представлении - PullRequest
1 голос
/ 10 сентября 2011

есть мысли по этому поводу?

Я использую MVC2 в VS2010.У меня есть Javascript в моем представлении, чтобы поставить маркеры на карте Google.Мне нужно получить адрес и расстояние от текстовых полей,

<%= Html.TextBox("address") %> <%= Html.TextBox("distance") %>

, чтобы использовать в качестве аргументов в функции drawMap(address, distance); в моем коде.

Есть ли объект реестра, который я могу использовать для доступа к этому?Кроме того, возникают некоторые проблемы при использовании <%= Html. (..) %> в флагах <script type="text/javascript"><script>.Я понимаю, что, вероятно, мне следует реализовать модель MVC здесь, и хотя я использую это для заполнения текстовых полей при загрузке, не могу снова извлечь информацию из текстового поля обратно на POST, чтобы получить значения в функции javascript в представлении..

Любые предложения очень получили!Заранее спасибо.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // следующий вопрос: DropDownListFor <>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Существует ли также простой способ получения информации:

<%: Html.DropDownListFor(model => model.SavedAddress1, ViewData["StartLoc"] as SelectList) %>

Список выбора для этого хранится в контроллере.Получу ли я, какой был выбран из контроллера в POST?Или есть способ определения, который был выбран непосредственно в Javascript.

Большое спасибо

1 Ответ

4 голосов
/ 10 сентября 2011

Чтобы получить значение текстового поля, просто используйте javascript

document.getElementById("address").value 

или, с jquery, используйте

$("#address").val();

Если вы вместо этого используете модель, переданную в представление (что я предпочитаю, еслипользователю не нужно изменять значение в текстовом поле) вы можете поместить это в скрипт

<script type="text/javascript">
drawmap('<%= Model.Address %>', '<%= Model.Destination%>');
<script>

Чтобы сохранить это значение в форме сообщения, вы можете использовать тег Html.HiddenFor

 <%: Html.HiddenFor(model => model.Address) %>

Обновление для ваших правок

Для выпадающего списка, если вы поместите его в тег формы, он будет привязан к модели, так что вы получите его вконтроллер.В то время как с javascript вы можете получить доступ к значению так же, как вы использовали для текстового поля.

...