можно ли отменить RegisterStartupScript
От: SlaVVa_0428  
Дата: 29.07.08 00:43
Оценка:
Интересует вопрос следующего плана — можно ли отменить скрипты объявленные через RegisterStartupScript?

Ситуация в следующем.
Имеется GridView по событию SelectedIndexChanged вызывается редактирование указанной строки.
При чем редактирование идет через window.open и вызывается примерно так:

        ClientScriptManager cs = Page.ClientScript;
        Type cstype = this.GetType();

        string str = string.Format("<script language= \'javascript\'>  window.open(\'blablabla.aspx?id={0}'," +
                    "\'{1}\', \'width=30,height=40,toolbar=0\') </script>", lNumber, lScriptName);

        if (!cs.IsStartupScriptRegistered(lScriptName))
        {
            cs.RegisterStartupScript(cstype, lScriptName, str);
        }


это необходимо для задания фиксированной формы редактирования в отдельном окне (основная форма активная и периодически обновляет содержимое, потому редактирование приходится выносить отдельно), но суть даже не в этом.

Проблема в том, в ходе работы из основного окна по ссылкам приходится переходить на другие страницы. Так вот при возвращении на неё (через Back в браузере) даже без возникновения события SelectedIndexChanged запускается то же окно редактирования.

Вопрос в следующем:
1. Можно ли после срабатывания скрипта отменить этот скрипт? Удалить из кода?
2. Есть ли возможность запустить window.open без создания скрипта (вариант Responce.Write не предлагать) ?
registerstartupscript gridview window.open
Re: можно ли отменить RegisterStartupScript
От: SlaVVa_0428  
Дата: 29.07.08 01:34
Оценка:
Вопрос снят, пусть немного коряво, но работает!


string str = string.Format("<script language= \'javascript\'>  window.open(\'blablabla.aspx?id={0}'," +
                    "\'{1}\', \'width=30,height=40,toolbar=0\'); document.forms[0].submit(); </script>", lNumber, lScriptName);


плюс сбрасываем выделение в гриде

        BasicView.SelectedIndex = -1;


Смысл прост. Делаем принудительный сабмит. Который сбрасывает код скрипта.
gridview submit selectedindex window.open
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.