Ajax ASP.NET несколько возможных функций pageLoad?

добавление :_* говорит компилятору обрабатывать массив как varargs. Он работает так же со Scala, как и с Java. Если у меня есть метод

def foo(args: Int*) = args.map{_ + 1}

, я могу назвать его так:

foo(1, 2, 3, 4) //returns ArrayBuffer(2, 3, 4, 5)

, но если я хочу передать ему фактическую последовательность (как у вас с getMethod) Я бы сделал:

val mylist = List(1, 2, 3, 4)
foo(mylist:_*)
15
задан Liam 15 March 2013 в 10:43
поделиться

2 ответа

Да ... Как и большинство языков, JavaScript требует, чтобы символы были уникальными в пределах их области действия. В JavaScript, если вы создаете несколько определений для функции в заданной области видимости, то «выигрывает» последнее, которое будет определено - это будет выглядеть так, как будто предыдущих определений никогда не существовало.

Что вам нужно сделать, чтобы Чтобы ваша избыточная функция pageLoad работала, нужно использовать метод Sys.Application.add_load () . С его помощью вы можете прикрепить столько обработчиков, сколько хотите, к событию загрузки страницы. Более того, вы можете использовать анонимную функцию для добавления в метод add_load . Это гарантирует вам отсутствие опасности для обработчиков с повторяющимися именами. Пример:

StringBuilder sb = new StringBuilder();
  sb.Append("Sys.Application.add_load(");
  sb.Append("function() { alert('page load'); });");

ClientScript.RegisterStartupScript(this.GetType(), "Page_Load", sb.ToString(), true);

Вы также можете легко использовать Sys.Application.add_load на стороне клиента, вы даже можете добавить один и тот же обработчик более одного раза. В результате одна и та же функция будет срабатывать несколько раз :)

34
ответ дан 1 December 2019 в 01:53
поделиться

Я не согласен с Shog9 ...

Я знаю, что можно иметь несколько вызовов $ (document) .ready (f (n)) в одном документе, каждый из которых вызывается по очереди, когда DOM завершает загрузку. Я не верю, что многократные вызовы ClientScript.RegisterStartupScript () также вызывают какие-либо проблемы.

-2
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: