2015-09-06 2 views
1

Я собираюсь открыть внешнюю ссылку («www.google.com») на «новой вкладке того же окна» из моего asp. чистый проект при нажатии кнопки. Есть ли способ сделать это. (Ссылки поступают из базы данных и выглядят так, как будто я могу сделать это в стороне разметки).открыть внешнюю ссылку в новой вкладке из проекта asp.net

В настоящее время я попробовал, response.redirect & window.open, но оба они не работают.

Response.Redirect 
protected void btnSubmit_Click(object sender, EventArgs e) 
     { 
      Response.Redirect("www.google.com"); 
     } 

Window.Open

protected void btnSubmit_Click(object sender, EventArgs e) 
     { 
string x = "www.google.com"; 

     string s = "window.open('" + x + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');"; 

     ClientScript.RegisterStartupScript(this.GetType(), "script", s, true); 
    } 

Я получаю ошибку в обоих случаях: 404 страница не найдена ..

enter image description here

+1

Вы заметили сообщение об ошибке ... «Запрошенный URL» показывает причину проблемы.Можно ли использовать jquery в вашем приложении? В моем проекте я использую решение на основе jquery для достижения аналогичной функциональности. –

+0

Да! Я могу использовать jquery .. Пожалуйста, дайте мне знать, как я могу добиться этого в jquery. Ошибка состояла в том, что я должен использовать «http://www.google.com» вместо «www.google.com». Кроме того, мне нужно открыть новый URL-адрес на новой вкладке. Response.redirect открывает новый URL-адрес в том же окне. – CodeNinja

ответ

0

Обратите внимание на URL запрашиваемого:

http://localhost/www.google.com 

Если Вы направляете пользователя на другой сайт, вы должны полностью квалифицировать URL:

Response.Redirect("http://www.google.com"); 

или:

string x = "http://www.google.com"; 

В противном случае браузер думает, что ищет ресурс под названием «WWW. google.com "на текущем сайте.

+0

Спасибо, что работает частично, но, как я упомянул в своем вопросе, я хочу открыть новый URL как «новую вкладку того же окна». Как я могу это сделать ? Вышеупомянутое решение открывает URL-адрес в новом окне. – CodeNinja

+0

@CodeNinja: JavaScript 'window.open()' должен делать именно это. Это не работает в вашем браузере? – David

+0

Window.open() открывается в новом окне вместо новой вкладки в том же окне. Я использую Internet explorer. Код ниже. строка x = "https://www.google.com"; string s = "window.open ('" + x + "', 'popup_window', 'width = 300, height = 100, left = 100, top = 100, resizable = yes');"; ClientScript.RegisterStartupScript (this.GetType(), "script", s, true); – CodeNinja

0

Вы должны указать полный URL, поэтому используйте

Response.Redirect("Http://www.google.com"); 

GOODLUCK.

+0

Эй, Slashy! Благодаря ! Но вышеприведенное решение открывает URL-адрес «www.google.com» в том же окне. Как я уже упоминал в своем вопросе, я хотел бы открыть новую ссылку «как новую вкладку в том же окне». Как я могу это сделать ? – CodeNinja

0

Try:

protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     string x = "https://www.google.com"; 

     string s = "window.open('" + x + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');"; 

     ClientScript.RegisterStartupScript(this.GetType(), "script", s, true); 
    } 

Edit 2:

Согласно This, вы не можете открыть его в новом окне таким образом.

Если вы действительно хотите его в новом окне, используйте HTML Links с атрибутом target="_blank".

+0

Спасибо, что работает частично, но, как я упоминал в своем вопросе, я хочу открыть новый url как «новую вкладку того же окна». Как я могу это сделать ? Вышеупомянутое решение открывает URL-адрес в новом окне. – CodeNinja

0

URL-адрес www.google.com интерпретируется как локальный путь, попробуйте

http://www.google.com 

вместо этого.

Использование _new в качестве имени окна открывает новое окно или вкладку:

window.open("...", "_new") 
1

Что вы можете сделать, это отправить кусок HTML вниз ответ, который имеет связь с вашим URL как HREF, цель =» _blank "и кусок javascript, загружающий форму, которая подделывает клик. Если это не работает, используйте window.open («www.google.com»);

response.write("<script>"); 
response.write("window.open('www.google.com','_blank')"); 
response.write("</script>"); 

Полное описание here

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