Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.227.228.95] |
|
Сообщ.
#1
,
|
|
|
Вот еще один ступор, по сути выглядит все красиво, но не работает (работает не так как хотелось бы)
прикол в том что модальное окно грузится вместе с основным, а при нажатии кнопки editBox_OK отображает его, по логике работы у меня туда подгружается фрейм, (хотя я вот тут пишу и думаю надо переделать на контрол) и так фрейм, во фрейм грузится редактор фото, который цепляет картинку загруженную юзером. но так как это все работает через ж*пу, получается что фрейм загружен до того, как юзер увидел страницу. <asp:Button runat="server" ID="btnEditCustomer" Text="Edit" /> <asp:Panel runat="server" ID="pnlEditCustomer"> <div class="col"><table> <tr><td><div style="height: 450px; width: 400px;"> <iframe seamless src="Handler/Cropper.aspx" frameborder="0" scrolling="no"> Ваш браузер не поддерживает плавающие фреймы! </iframe> </div></td></tr> <tr> <td> <input id="editBox_OK" type="button" value="button" /> </td> </tr> </table></div> </asp:Panel> <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender" runat="server" TargetControlID="btnEditCustomer" PopupControlID="pnlEditCustomer" OkControlID="editBox_OK" OnOkScript="yes()"/> теперь вопросы: у ajaxToolkit:AsyncFileUpload есть вызываемые java функции <script type="text/javascript"> function uploadError(sender, args) { document.getElementById('lblStatus').innerHTML = args.get_fileName(), "<span style='color:red;'>" + args.get_errorMessage() + "</span>"; } function StartUpload(sender, args) { var name_input = document.getElementById('lblStatus'); name_input.innerHTML = "Ожидайте, идет загрузка файла."; } function UploadComplete(sender, args) { var filename = args.get_fileName(); var contentType = args.get_contentType(); var text = "Файл " + filename + " размером " + args.get_length() + " байт"; if (contentType.length > 0) { text += " был успешно загружен."; } document.getElementById('lblStatus').innerHTML = text; } </script> можно ли как то из UploadComplete вызвать отображение ajaxToolkit:ModalPopupExtender не используя <asp:Button runat="server" ID="btnEditCustomer" Text="Edit" /> и второй вопрос в редакторе(ImageCropper) есть скрипт <script type="text/javascript"> function getDataFromFile(dataSource, targetControl) { var myAjaxObject = false; if (window.XMLHttpRequest) { myAjaxObject = new XMLHttpRequest(); } else { if (window.ActiveXObject) { myAjaxObject = new ActiveXObject("Microsoft.XMLHTTP"); } } if (myAjaxObject) { myAjaxObject.open("GET", dataSource); myAjaxObject.onreadystatechange = function () { if (myAjaxObject.readyState == 4 && myAjaxObject.status == 200) { var targetObj = document.getElementById(targetControl); targetObj.innerHTML = "<img src= " + dataSource + ">"; } } myAjaxObject.send(null); } } </script> вызывается он getDataFromFile('Handler/HandlerAjax.ashx','iddivforimage') загружая картинку, можно ли из UploadComplete както вызвать, getDataFromFile который находится в пользовательском контроле. да и глупый попутный вопрос так работать будет есть код редактора на форме загрузчика function UploadComplete(sender, args) { var filename = args.get_fileName(); var contentType = args.get_contentType(); var text = "Файл " + filename + " размером " + args.get_length() + " байт"; if (contentType.length > 0) { text += " был успешно загружен."; } document.getElementById('lblStatus').innerHTML = text; getDataFromFile('Handler/HandlerAjax.ashx','iddivforimage'); } |
Сообщ.
#2
,
|
|
|
Цитата -=VIRUS=- @ но так как это все работает через ж*пу, получается что фрейм загружен до того, как юзер увидел страницу. http://www.asp.net/web-forms/videos/ajax-c...xtender-control 6:20 Цитата -=VIRUS=- @ вызываемые java функции ты java видал вообще? Цитата -=VIRUS=- @ можно ли как то из UploadComplete вызвать отображение ajaxToolkit:ModalPopupExtender не используя <asp:Button runat="server" ID="btnEditCustomer" Text="Edit" /> можно кликнуть на ссылку программмно, или открыть ModalPopup тоже программно, проще кликнуть Цитата -=VIRUS=- @ загружая картинку, можно ли из UploadComplete както вызвать, getDataFromFile который находится в пользовательском контроле. что значит "находится в пользовательском контроле"? |
Сообщ.
#3
,
|
|
|
Цитата UncleBob @ что значит "находится в пользовательском контроле"? все что находится в Cropper.aspx можно копипастом собрать в userControl по сути тотже .ashx только подключается как контрол а вот как ему параметры передавать я хз, примеры из c# не подходят синтаксис сильно отличается. Я параметры передавал через глобальные переменные(структуры). Буквально на неделе про меню вопрос был, я тупо отладил это меню на обычной форме и скопировал его в контрол. Да бы кода по меньше было в тех формах где основная логика. Также и тут Cropper.aspx обычная страница представляющая из себя графический редактор. Да и редактором сложно назвать, просто подрезает картинку по краям. Мне нужно ему как то указать что резать (эта информация есть тут: Handler/HandlerAjax.ashx) на форме Cropper.aspx есть javascript "getDataFromFile" который дергает с Handler/HandlerAjax.ashx картинку и грузит в <div id="iddivforimage"></div>, но все это сделать нужно после того как юзер ее загрузил. |
Сообщ.
#4
,
|
|
|
Цитата UncleBob @ Цитата (-=VIRUS=- @ Сегодня, 20:53) но так как это все работает через ж*пу, получается что фрейм загружен до того, как юзер увидел страницу. http://www.asp.net/web-forms/videos/ajax-c...xtender-control 6:20 я может не верно выразился, отображается все корректно, при нажатии кнопки открывается модальное окно, но содержимое в это окно было загружено в месте с основной страницей, что недопустимо т.к. в модальном окне фрейм. Получается что после действий на основной странице содержимое во фрейме не актуально. |
Сообщ.
#5
,
|
|
|
Ну тут хватает клиентского программизма, я не уверен, что смогу тебе объяснить, а писать это самому нет особой возможности. Тебе надо по нажатию на кнопку грузить нужный фрейм. Делается это джаваскриптом.
|