2013-08-07 20 views
5

ASP.NET Webforms (MVC değil) kullanıyoruz.ASP.NET Response.Redirect yeni bir tarayıcı penceresi açmak için?

Soruma Bu soru şu şekilde: Bir geri bildirim kullanarak yeni bir tarayıcı penceresi açmak ve daha sonra bazı Response.Redirect açmak mümkün mü?

+1

herhangi bir şey denediniz deneyin: İşte

deneyebileceğiniz hangi Response.Redirect kullanmayan bunu yapmanın bir yolunu nelerdir? –

+0

Response.Redirect bir tarayıcıyı Response.Redirect Sunucu tarafı komutu olarak açamıyor ve tarayıcı sunucuda mevcut değil. Yeni bir pencere açmak için javascript kodu atmanız gerekiyor. –

cevap

0

Kısa yanıt? No

Uzun cevap: tarayıcı pencerelerinin kavramı bir istemci tarafı biridir oysa

ASP.NET, bir sunucu tarafı çerçevesidir. Response.Redirect sadece çıktı akışının bir parçası olarak bir Location: [whatever the new url is] başlığı gönderiyor. Bu, hemen hemen tüm tarayıcıların, üstbilgideki URL'yi yükleyerek bu üstbilgiyi ele almasıdır.

En acısız yol, JLC007's cevabında belirtildiği gibi yeni pencereyi açmak için geri gönderme sırasında javascript kullanıyor olabilir. Başka bir olası seçenek, oluşturulmuş formdaki target özniteliğidir.

+0

Sanırım "kısaca" akraba, ama daha uzun cevap ne zaman geliyor? – Patrick

+0

Sadece şimdi. Saptırılmış. – rossipedia

+0

hedef bağlarken muhtemelen başka bir kaynağı kullanmak, yani [MDN] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-target). W3schools'un genellikle geçerli bilgilere sahip olmasına rağmen, kalite sorunu vardır (http://www.w3fools.com/). Ucu için – Patrick

6

Response.Redirect'in yeni bir pencere açmaya gideceği durumlarda rastlamıyorum.

ScriptManager.RegisterStartupScript(this, typeof(string), "New_Window", "window.open('http://www.website.com', null, 'height=800,width=1280,status=yes,toolbar=yes,menubar=yes,location=no');", true); 
+0

'nb' yerine '' _blank '' ekleyebilirsiniz, ancak test ettim ve her ikisi de aynı sonucu veriyor. Yeni bir pencere açar. –

+0

Tarayıcıların, sayfa yüklendiğinde çalıştırılan komut dosyalarını, kullanıcı tarafından başlatılandan ziyade sayfa başlatıldıkları şekilde işleyebileceğini unutmayın. Bu tür bağlantılar açılır pencere engelleyiciler tarafından engellenebilir. – Brian

0

bu

ScriptManager.RegisterStartupScript(this, typeof(string), "openWindow", 
    "window.open('http://www.website.com', target="_blank", 
    'height=800,width=1280,status=yes,toolbar=yes,menubar=yes,location=no');", 
     true); 
+0

Ve bu JLC007'nin cevabından farklı, nasıl? – Patrick

+0

hedef farklıdır ve yeni bir pencere açmak için kullanılır – Amit

İlgili konular