Я пытаюсь зарегистрировать простой сценарий -ClientScript.RegisterClientScriptBlock работает только в Pageload случае
ClientScript.RegisterClientScriptBlock(typeof(Page), "myscript", "<script>testfun();</script>");
Эта линия работает хорошо, когда я положил его в случае загрузки страницы. Однако каждый раз, когда пользователь выбирает строку в gridview, мне нужна часть клиентской функции для выполнения, поэтому в событии GridView.SelectedIndexChanged я добавил ту же строку, однако она там не работает. Может ли кто-нибудь указать, почему это происходит или направлять меня к более элегантному решению?
Загрузить RegisterStartupScript? Если у вас есть UpdatePanel, окружающий ваш элемент управления. Вы можете использовать ScriptManager.RegisterStartupScript. – madatanic
Почему вы регистрируете скрипт на следующей обратной передаче? Вы должны сделать это при начальной загрузке, тогда вы можете даже опустить обратную передачу в SelectedIndexChanged, если хотите. –
На самом деле, у меня есть 2 раздела на моей странице, оба находятся в отдельной панели обновлений, поэтому вся страница не загружается при изменении SelectedIndex, а именно, когда я хочу, чтобы сценарий запускался. Следовательно, вызов этого в начальной загрузке не будет работать. Я прав? @TimSchmelter – neuDev33