Я показываю модальный диалог через «window.showModalDialog (...», который происходит в функции vbscript (указанная страница - aspx). Я хотел бы сделать некоторое изменение размера окна в зависимости от количества строк в возвращаемом datatable, поэтому, естественно, я перехожу к регистрации сценария запуска, который меняет размер окна на основе количества строк. Ну, это не сработало, поэтому я попытался зарегистрировать скрипт, который только что показал msgbox.does showModalDialog вмешивается в ClientScript.RegisterStartupScript?
код выглядит (в обработчике события OnLoad):
if (!this.ClientScript.IsStartupScriptRegistered(typeof(MyPageClassName), "hello"))
{
this.ClientScript.RegisterStartupScript(typeof(MyPageClassName), "hello",
@"<script language=vbscript>
sub fnWindowOnLoad()
MsgBox ""hello""
end sub
<script>", false);
}
if (!this.ClientScript.IsStartupScriptRegistered(typeof(MyPageClassName), "hello"))
{
throw new Exception("Failed to load script");
}
Для меня это выглядит как это должно работать и показать окно с сообщением, что говорит «привет» при загрузке страницы (у меня есть функция окна событие onload установлено в fnWindowOnL ДОА). Но то, что происходит, ничто, ни исключения, ни предупреждения. Я пробовал каждый тип, о котором я мог думать в вызове typeof. Ничто не работает. Единственное, о чем я могу думать, это то, что, поскольку диалог является модальным ClientScript.RegisterStartupScript не будет работать должным образом. Но это не имеет никакого смысла для меня.
Я положил вызов «привет» MsgBox в свой блок сценариев напрямую, и появилось предупреждение, так что это возможно. Но мне нужно изменить некоторые аргументы в коде, так что я должен использовать RegisterStartupScript, насколько я могу судить.
мой босс не будет счастлив, если я избавлюсь от showModalDialog; плюс это связано с множеством других изменений; Мне действительно нужна ценность, которая возвращается; мы являемся компанией только для IE и останемся так годами, я подозреваю – jcollum
@jcollum См. мое редактирование выше. Это другая проблема, которую я видел. – Keltex
вздох, ты прав. но если я начну исправлять вещи правильным образом здесь, мне придется начинать с нуля, и у меня нет участия в mgmt на этом – jcollum