Вот мой код
<script type="text/javascript">
function getNextScroll(i){
<asp:Literal ID="infiniteScrollTableJS" runat="server"></asp:Literal>
}
</script>
Я заполняю этот литерал некоторым Javascript из CodeBehind.Это прекрасно работает OnLoad.Однако, когда я делаю обратную передачу, у меня возникает проблема.Литерал обновляется при обратной передаче.Фактический скрипт, который находится внутри функции, на самом деле изменяется (я вижу это с Firebug).НО, функция не знает, что там есть новый скрипт, она просто продолжает запускать старые вещи.
Итак, насколько я могу судить, я хочу «повторно инициализировать» код внутри функции после обратной передачи.,
Я знаю, как вызвать функцию после обратной передачи, используя add_endRequest.
Эта проблема не является уникальной для .NET или чего-либо еще.На самом деле, у меня есть простой пример -> http://jsfiddle.net/7JxY7/1/ «Функция запуска» всегда будет предупреждать «один» даже после изменения содержимого скрипта.
Мне кажется, что jQuery, вероятно, имеет что-то, что яможно было бы использовать, но, ища вокруг, я ничего не нашел.
РЕДАКТИРОВАТЬ:
Я попробовал предложение по mblase75.Это прекрасно работает в Javascript (что более важно, теперь я понимаю, почему), однако, учитывая этот подход, я все еще не могу заставить его работать с обратной передачей.Вот мой обновленный код.
<script type="text/javascript">
function getNextScroll(i){
//some stuff
}
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function (s, e) {
//mblase75 suggestion
getNextScroll = function (i){<asp:Literal ID="infiniteScrollTableJS" runat="server"></asp:Literal>};
});
</script>
Я думал, что это сработает, но, конечно, он имеет ту же проблему, что и мой оригинальный метод.Литерал фактически изменен, но функция не знает об изменении, у него все еще есть оригинальный код