none
Asp.net Buton ile Yeni Sekme Açtırmak RRS feed

  • 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

    15 Şubat 2016 Pazartesi 10:19

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
    16 Şubat 2016 Salı 10:06

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);


    15 Şubat 2016 Pazartesi 14:12
  • 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);


    yok hocam bu şekilde de denedim chrome da olmuyor
    15 Şubat 2016 Pazartesi 16:01
  • Yardım edebilecek yokmu ?
    16 Şubat 2016 Salı 07:46
  • Peki değişkenleri query string ile gönderip açılan sayfada page load'da işlemleri yapsanız olmaz mı ? 
    16 Şubat 2016 Salı 08:34
  • 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.

    16 Şubat 2016 Salı 08:43
  • 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
    16 Şubat 2016 Salı 10:06
  • 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.

    peki hocam bir sayfada bunu deneyeceğim ilginiz için teşekkür ederim başarılı/başarısız sonucu geri bildirimde bulunucam
    16 Şubat 2016 Salı 10:15