2011-04-03 12 views
12

Bir asp.net koduyla bana verilen bir bağlantıdan bir tarayıcı sekmesi açmam gerekiyor. Normalde bir bağlantı ve target="_blank" olurdu, ancak ihtiyacım olan bağlantı dinamik, bu yüzden arkadan koddan bir _blank bağlantı olması gerekir.ASP.Net Tarayıcıda Yeni Sekme'yi Açın CodeBehind

Herhangi bir Fikir?

cevap

23

, ilk HTML oluştururken bağlantı oluşturmak için gereken verileri varsa, Page_Load olayına böyle bir şey yapabilirsiniz: Eğer gerekli almak PostBack bekliyorsan

protected void Page_Load(object sender, EventArgs e) 
{ 
    Button1.OnClientClick="javascript:window.open('MyPage.aspx?Param=" + Param1.ToString() + "');";   } 
} 

Verileri kurmak için Javascript'i tarayıcıya ScriptManager üzerinden gönderebilirsiniz:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    //process whatever you need to to get Param1 
    ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('MyPage.aspx?Param=" + Param1.ToString() + "');",true); 
} 
+0

Merhaba ne istersem bunu yeni sekmede açmak için? Lütfen – BNN

+0

günümü kurtardım. Teşekkürler! –

0

Target property ürününü arıyorum.

+0

Hayır, beni yanlış anladınız ... Benim bir bağlantım yok. Normal bir ASP: Button'ım var ve CodeBehind'de çok fazla ToDos'um var (DB Query vb.). Bitirdikten sonra yeni bir sekmede bir bağlantı açmalıyım. – Kovu

+0

O zaman bir pencere açmak için 'window.open' – SLaks

+0

' ya ihtiyacınız var, teşekkür ederim :) – Kovu