Сохранение JavaScript-переменной в модель C # в ASP.NET MVC 3 Razor? - PullRequest
2 голосов
/ 29 ноября 2011

Я новичок в использовании MVC 3 ASP.NET, и я начал использовать механизм представления Razor.Я работаю с API в JavaScript, поэтому я ставлю этот код на мой взгляд.Я также работаю с базой данных через инфраструктуру сущностей, и я передаю список IEnumerable простого класса, содержащего строки и целые числа в качестве моей модели.

Я могу заменить элементы в моей модели в представлении,изменить порядок списка возражений на основе значений и использовать значения модели C # в моем JavaScript, но я не могу сохранить значение, рассчитанное в JavaScript, обратно в мое представление, и я знаю, что это потому, что мой код C # работает на сервере, а JavaScript запускается наклиентский компьютер.

Мне интересно, каков наилучший способ сохранить значение, рассчитанное в JavaScript для каждого элемента в моем списке IEnumerable, в мою модель C #, чтобы я мог переупорядочить свои объекты на основе этого значения для вывода взаказ на мой взгляд.

Спасибо

Ответы [ 2 ]

5 голосов
/ 29 ноября 2011

Вы можете иметь множество скрытых входов в вашем представлении. И затем дать им связанные имена. Вы можете установить значения в соответствии с переменными, которые у вас есть в сценарии Java. Когда вы публикуете свою форму, вы можете получить все переменные в действии, используя имена соответствующих скрытых входных данных.

Или вы можете опубликовать их, используя пост ajax или используя jquery для ваших действий. http://api.jquery.com/jQuery.post/

$.post("action/Controller",{var1:"1",var2:"2"},function(data){
  //this will execute after the post completed(after the server response)

})
2 голосов
/ 29 ноября 2011

Единственный способ общения клиента (браузера) с вашим сервером - через HTTP.

Это означает, что вы либо используете <form> и отправляете его, либо используете ajax.

ASP.NET MVC должен иметь твердые конструкции для обработки запросов AJAX.

Также обратите внимание, что в ваших представлениях плохо использовать JavaScript, это должны быть внешние файлы.

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