Установка переменной модели из jQuery в asp.net - PullRequest
0 голосов
/ 31 августа 2011

У меня есть скрипт jQuery, который позволяет мне искать / фильтровать список людей и выбирать их.Используя это, он позволяет мне установить div на основе черт этого человека.

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

IsЕсть ли способ установить переменную модели для personID в jQuery?т.е.:

<%: Model.PersonId == ui.item.id; %>

Или есть другой способ сделать это?

Также - я публикую форму с помощью кнопки отправки, поэтому, если бы я мог установить Html.Hidden(), то это также сработало бы.

Ответы [ 2 ]

1 голос
/ 31 августа 2011

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

$("form").append("<input type='hidden' name='hiddenPersonId' value='"+ui.item.id+"' />");

С другой стороны

$("form").append($("<input type='hidden' name='hiddenPersonId'/>").val(ui.item.id));

На стороне сервера вы можете получить это значение, используя

Request.Form["hiddenPersonId"];
0 голосов
/ 31 августа 2011

Модель находится на сервере, а jquery - на клиенте, поэтому отправленный вами код работать не будет. Есть несколько способов сделать это. Ваш javascript может установить скрытое поле формы или отправить ajax-запрос на сервер, который получит обновленную модель.

    <html>
    <head>
    <script>
    $(document).ready(function() {
    $("#submit-button").click(function(){
      $("#hidden-input").val(new Date()); //set the value to the current date
    });
    });
    </script>
    </head>
    <body>
     <form>
      <input type="hidden" id="hidden-input" name="hidden-input" />
      <input type="submit" id="submit-button" value="submit" />
     </form>

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