2013-05-07 3 views
0

У меня есть страница asp, в которой есть кнопка. И как только кнопка нажата, она должна отобразить веб-диалог, который помещается в другую папку на одном и том же решении. К сожалению, при нажатии этой кнопки отображается ошибка, указывающая, что ресурс не найден. Я проверял путь, где он находится, и страница, которую я пытаюсь получить, есть. Я использую javascript, чтобы открыть веб-диалог. Вот код, который я использую:Ресурс не найден при показе веб-диалога

<script language="JavaScript"> 
     var w; 
     function openWindow(lot, spec, specname, ID) { 
      var myArguments = new Object(); 
      myArguments.param1 = 'popUp'; 

      w = window.showModalDialog("WebForms/MAXIMDataCollection/WaferSortCSP/CSPTesterSummary.aspx?lotID=" + lot + "&specID=" + spec + "&specname=" + specname + "&ID=" + ID, myArguments, 'dialogHeight: 650px; dialogWidth: 1050px; edge: Sunken; center: Yes; help: No; status=1;resizable=0; Yes; scroll:0;'); 

     } 
    </script> 

Спасибо, что помогли ребятам.

+0

Можете ли вы посмотреть инструменты разработчика в своем браузере и посмотреть, какой фактический запрос помещается из 'window.showModalDialog'? Посмотрите, соответствует ли это URL вашей страницы. Попробуйте вставить это в другое окно браузера и посмотреть, есть ли страница, которую вы ожидаете, или ошибка. – Floremin

+0

Привет, Floremin, вы можете научить меня, как это сделать? – GianIsTheName

+0

Я уверен, что вы можете искать и находить инструкции для своего конкретного браузера. – Floremin

ответ

0

Не могли бы вы открыть его в Firefox или chrome со следующими изменениями кода javascript; затем нажмите F12 и проверьте консоль?

var w; 
    function openWindow(lot, spec, specname, ID) { 
     var myArguments = new Object(); 
     myArguments.param1 = 'popUp'; 
     console.log("WebForms/MAXIMDataCollection/WaferSortCSP/CSPTesterSummary.aspx?lotID=" + 
     lot + "&specID=" + spec + "&specname=" + specname + "&ID=" + ID 
     w = window.showModalDialog("WebForms/MAXIMDataCollection/WaferSortCSP/CSPTesterSummary.aspx?lotID=" 
      + lot + "&specID=" + spec + "&specname=" + specname + "&ID=" + 
      ID, myArguments, 'dialogHeight: 650px; dialogWidth: 1050px; edge: Sunken; center: Yes; help: No; status=1;resizable=0; Yes; scroll:0;'); 
    } 

Затем попытайтесь открыть URL-адрес, который зарегистрирован и увидеть, какой параметр или URL-адрес неверен. URL-адрес является относительным URL-адресом текущей страницы, поэтому, если вы находитесь в: localhost/subfolder/mypage.aspx, вы должны открыть localhost/subfolder/WebForms/MAXIMD ... Если вы хотите открыть страницу из root (это лучшая идея если вы используете его на нескольких страницах в нескольких вложенных папок), а затем изменить код JavaScript, чтобы открыть URL из корневого уровня:

 w = window.showModalDialog("/WebForms/MAX... 

Теперь открою LOCALHOST/WebForms/... независимо от того, что в которой вы запускаете скрипт.

+0

Привет, HMR! Ваше решение отлично работает. Спасибо. Любой шанс объяснить, почему мне нужно добавить еще одну строку// в строку? Ура! – GianIsTheName

+0

не имеет/в начале относительно текущей позиции, поэтому, если вы находитесь в localhost/subFolder/mypage, тогда «somefile.aspx» перенесет вас в localhost.subFolder/somefile.aspx, но «/somefile.asxp» возьмет вас к корневому (это localhost), так что localhost/somefile.aspx. Если вы находитесь в localhost/sub1/sub2/hello.html, то ссылка на «../somefile.aspx» приведет вас к localhost/sub1/somefile.axpx, потому что «../» означает один каталог вверх от вас есть сейчас. – HMR

Смежные вопросы