En iyi yanıtlayıcılar
Asp.net Buton ile Yeni Sekme Açtırmak

Soru
-
Merhaba arkadaşlar ;
protected void btn_excel_Click(object sender, EventArgs e) { Session["tarih1"] = de_basTar.Text; Session["tarih2"] = de_bitTar.Text; Session["durum"] = 1; dbManager.rptdurum = 1; //ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('raporYazdir.aspx','_newtab');", true); Response.Redirect("raporYazdir.aspx",false); // Server.Transfer("raporYazdir.aspx"); }
kod kısmım bu şekilde.
<asp:Button ID="btn_excel" runat="server" CssClass="btn btn-primary" Height="28px" OnClick="btn_excel_Click" Text="Yazdır" Width="80px" OnClientClick ="document.forms[0].target = '_blank';" />
Butonun html koduda bu şekilde.Lakin yeni sekmede internette scriptlerle dahil olmak üzere ne varsa denedim başarıya ulaşamadım. sadece aynı sekmede yönlendirme yapılıyor oysa ana sekme dururken bu butona basıldığında diğer sekmede sayfasıda açılsın istiyorum.
Hyprlink bu konuda işimi görüyor _blank için ama şöyle bir sııkıntı yaratıyor;
click inde
Session["tarih1"] = de_basTar.Text; Session["tarih2"] = de_bitTar.Text; Session["durum"] = 1; dbManager.rptdurum = 1;
bu kodları çalıştırdıktan sonra yeni sekme yapmam gerekiyor. Hyperlink ile bunu yapamadım.
yardımlarınızı bekliyorum.
Amacım son kod blogunu çalıştırarak yeni sekmede sayfamı açtırmak. Popup olayı sıkıntı verdiğinden bu durumdan kurtulmak istiyorum
Yanıtlar
-
ScriptManager ile js kodu tetiklemeyi denedim bende çalıştı ama chrome açılan sayfayı engelledi. Ben normalde bu tip işlemler için ya ajax kullanıyorum yada query string kullanıyorum. Zorda olsa bu ikisinden birisini tercih etmeniz gerekiyor. Ajax kullanmak için eğer projeniz MVC değil ise size bir WebServis gerekecek o daha uzun iş olur bence.
Aşağıdaki kod ile kolaylıkla query string ile veri gönderebilirsin.
<button type="button" class="btn btn-primary"onclick="OpenNewWindow();">Yazdır</button> Butonlarını bu şekilde değiştirip. Aşağıdaki kodu da sayfaya eklersen <script> jQuery(document).ready(function () { function OpenNewWindow() { window.open("/raporYazdir.aspx?startdate=" + $("#de_basTar").val() + "&enddate="+$("#de_bitTar").val()+""); } }); </script>
query string ile açılmış olur.
- Yanıt Olarak İşaretleyen Serkan Canseven 17 Şubat 2016 Çarşamba 11:01
Tüm Yanıtlar
-
-
Açıklama satırına aldığın bölümdeki _newtab ı _blank ile değiştirsen işini görmesi lazım.
ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('raporYazdir.aspx','_blank');", true);
-
-
-
Peki değişkenleri query string ile gönderip açılan sayfada page load'da işlemleri yapsanız olmaz mı ?
hocam dediğiniz şekilde de olur ama bir çok sayfada bu tip bir sorun var ve bu yapıyı tamamen değiştirmeye gidiyor zahmeti fazla olur.
bunu hyperlink ile evet yapılıyor _blank olarak ama click eventine ben bu kodları yazdığımda sanırım çalışmaz. böyle sağlıklı olacağını sanmıyorum.
ya bir js ile yada bilmediğim farklı bir kod ile bunu aşmam lazımda konuyu araştırdım lakin js örnekleri var onlarla denememde de buton işlev gerçekleştirmiyor bu seferde ajax taraflı sorun çıkıyor sanırım.
-
ScriptManager ile js kodu tetiklemeyi denedim bende çalıştı ama chrome açılan sayfayı engelledi. Ben normalde bu tip işlemler için ya ajax kullanıyorum yada query string kullanıyorum. Zorda olsa bu ikisinden birisini tercih etmeniz gerekiyor. Ajax kullanmak için eğer projeniz MVC değil ise size bir WebServis gerekecek o daha uzun iş olur bence.
Aşağıdaki kod ile kolaylıkla query string ile veri gönderebilirsin.
<button type="button" class="btn btn-primary"onclick="OpenNewWindow();">Yazdır</button> Butonlarını bu şekilde değiştirip. Aşağıdaki kodu da sayfaya eklersen <script> jQuery(document).ready(function () { function OpenNewWindow() { window.open("/raporYazdir.aspx?startdate=" + $("#de_basTar").val() + "&enddate="+$("#de_bitTar").val()+""); } }); </script>
query string ile açılmış olur.
- Yanıt Olarak İşaretleyen Serkan Canseven 17 Şubat 2016 Çarşamba 11:01
-
ScriptManager ile js kodu tetiklemeyi denedim bende çalıştı ama chrome açılan sayfayı engelledi. Ben normalde bu tip işlemler için ya ajax kullanıyorum yada query string kullanıyorum. Zorda olsa bu ikisinden birisini tercih etmeniz gerekiyor. Ajax kullanmak için eğer projeniz MVC değil ise size bir WebServis gerekecek o daha uzun iş olur bence.
Aşağıdaki kod ile kolaylıkla query string ile veri gönderebilirsin.
<button type="button" class="btn btn-primary"onclick="OpenNewWindow();">Yazdır</button> Butonlarını bu şekilde değiştirip. Aşağıdaki kodu da sayfaya eklersen <script> jQuery(document).ready(function () { function OpenNewWindow() { window.open("/raporYazdir.aspx?startdate=" + $("#de_basTar").val() + "&enddate="+$("#de_bitTar").val()+""); } }); </script>
query string ile açılmış olur.