Есть ли параметр, а «Bunch of code» возвращает функцию?
var a = function(x) { return function() { document.write(x); } }(something);
Закрытие. Значение something
используется функцией, назначенной a
. something
может иметь какое-то переменное значение (для цикла) и каждый раз, когда a имеет новую функцию.
Я подозреваю, что Вы выполняете первоначальную версию (RTM).NET 2.0.
, До элементы управления проверки правильности начала 2007 года не были совместимы с UpdatePanels. Это было разрешено с SP1 Платформы.NET.
источник проблемы - то, что UpdatePanel может обнаружить изменения разметки на Вашей странице, но он не имеет никакого способа отследить сценарии правильно. Блоки проверки допустимости полагаются в большой степени на сценарии. Во время частичной обратной передачи сценарии или сдуваются, не обновлены или не выполнены, когда они предназначены к.
В ранних бетах, MS сделал, чтобы UpdatePanel попробовал к предположение , какие сценарии должны были быть повторно представлены или выполнены. Это не работало очень хорошо, и они должны были вынуть его.
Для обхождения непосредственной проблемы Microsoft выпустила исправленную версию классов блока проверки допустимости в новом DLL под названием Validators.DLL и дала инструкции относительно того, как сказать ASP.NET использовать те классы вместо реальных. Если Вы Google для того имени DLL, необходимо найти больше информации. См. также Это сообщение в блоге .
Это было мерой затычки остановки, и необходимо <ударить> не, используют его , забастовка> избегают его если возможный .
действительное решение проблемы прибыло вскоре после в.NET 2,0 SP1. Microsoft представила новый механизм для регистрации сценариев в SP1 и изменила реальные классы блока проверки допустимости для использования того механизма вместо более старого.
Позволяют мне предоставить Вам некоторую подробную информацию об изменениях:
Традиционно, Вы, как предполагалось, зарегистрировали сценарии с помощью методов Page, таких как Page. RegisterStartupScript () и Page. RegisterClientScriptBlock (). Проблема состоит в том, что эти методы не были разработаны для расширяемости, и UpdatePanel не имел никакого способа контролировать те вызовы.
В SP1 существует новый объект свойства на странице по имени Page. ClientScripts. Этот объект имеет методы для регистрации сценариев, которые эквивалентны (и до некоторой степени лучше) к исходным. Кроме того, UpdatePanel может контролировать эти вызовы, так, чтобы он повторно представил или назвал методы в надлежащих случаях. Более старый RegisterStartupScript (), и т.д. методы были удержаны от использования. Они все еще работают, но не в UpdatePanel.
нет никакой причины (кроме политики, я предполагаю) не обновить Ваши установки на.NET 2,0 SP1. Пакеты обновления несут важные меры.
Удача.
@Jonathan Голландия: Что не так с использованием Validators.dll?
, Так как они заменяют исходные классы, Вы бесшумно обходите любые исправления ошибок и исправления безопасности, улучшения, и т.д. который Microsoft могла бы выпустить в будущем (или, возможно, уже выпустил). Если Вы не смотрите тщательно на web.config, Вы никогда не могли бы замечать пропуск патчей.
, Конечно, необходимо оценить каждую ситуацию. Если Вы абсолютно застреваете с помощью.NET 2.0 RTM, то Validators.dll лучше чем ничего.
@jmein
На самом деле проблема состоит в том, что клиентский сценарий Блока проверки допустимости не работает при размещении в updatePanel (обновление UpdatePanels с помощью .innerHTML, который добавляет узлы сценария как текстовые узлы, не узлы сценария, таким образом, браузер не выполняет их).
фиксация была патчем, выпущенным Microsoft, которая устраняет эту проблему. Я нашел его с помощью Google.
http://blogs.msdn.com/mattgi/archive/2007/01/23/asp-net-ajax-validators.aspx
Если для того, что когда-либо рассуждает, Вы неспособны использовать udpated версию элементов управления проверки правильности ASP.NET, на самом деле очень легко проверить группу проверки сами, все, что необходимо сделать, звонить
Page_ClientValidate("validationGroupName");
Тогда, можно использовать PageRequestManager, выполняют проверку, как Вам нужно.
Определенно использование обновленных средств управления проверкой является способом пойти, но я довольно неравнодушен к JavaScript;)