Хорошо, у меня есть функция, которая вызывается при нажатии на изображение.По какой-то причине он вызывает только один раз, когда я нажимаю на него, и я немного озадачен, почему.
Вот мой javascript (в сочетании с небольшим количеством бритвы), по сути, все, что он делает, это вызываетМетод post в контроллере, который возвращает частичное представление и обновляет это частичное представление.
function mFunction() {
@{ x = x = 1; }
$.post('/Home/_MyPartial', { 'param1': "@x" }, function(result) {
$('.myUpdatedDiv').html(result);
$('.anotherDiv').empty();
$('.anotherDiv').append('@x');
});
}
Тогда у меня есть мой тег, подобный этому
<a href="#" onclick="mFunction()">Hello</a>
Он обновляет представление совершенно нормально, как я ожидаюэто, за некоторыми глупыми исключениями.
- Он попадает в контроллер каждый раз, когда на него нажимают (несколько раз).Так что я знаю, что так работает
- Сама страница не обновляется и во второй раз ничего не заменяется.Контроллер успешно возвращает частичное представление, но javascript обновляет его только один раз.
Поэтому я был бы признателен за любую помощь в том, почему он не обновляется более одного раза.
спасибо
edit
Хорошо, допустим, я делаю это:
@{ int x = 0; }
<script type="text/javascript">
function tester() {
@{ x++; }
$('.H').empty();
$('.H').append('@x');
}
</script>
<div class="H"></div>
<a href="#" onclick="tester()">Click</a>
При нажатии на тег отобразится «1» и нажатие на неговсегда будет отображать «1».Это как-то связано с бритвенным кодом, который рендерится только один раз или что-то в этом роде?есть ли способ обойти это?