Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)

[es] :: .NET :: ASP.NET :: Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)

[ Pregleda: 1640 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nebojsa4

Član broj: 235084
Poruke: 48
*.dynamic.isp.telekom.rs.



+1 Profil

icon Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)14.06.2012. u 18:14 - pre 143 meseci
Pozdrav svima.
Muci me pokretanje javascript funkcije klikom na asp:button...

evo ga primer :

test.aspx
Code:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="test.aspx.vb" Inherits="CCWD.test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Testiranje</title>
    <link rel="Stylesheet" href="stilovi.css" media="screen" />
    
    <script language="javascript">
        function OpenNovi() {
            var t = (screen.height / 2) - 240;
            var l = (screen.width / 2) - 300;
            var tw = window.open('novi.aspx', null, 'resizable=no, directories=no, left=0, top=0, status=no, menubar=no, toolbar=no, location=no, scrollbars=yes, titlebar=no, height=480, width=600, top=' + t + ', left=' + l);
        }
    </script>
    
</head>
<body>
    <form id="form1" runat="server">
      <asp:button runat="server" id="btnNovi" Text="Novi" /> 
    </form>
</body>
</html> 


test.aspx.vb
Code:

 Protected Sub btnNovi_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNovi.Click
   If Session.Item("moze") = False Then
     'poruka da se ne moze pokrenuti nova stranica - nema ovlascenja, itd itd
     Exit Sub
   End If
   Session.Item("bilosta") = 1
   Session.Item("josnekipodatak") = "Bilo sta sto je potrebno novoj stranici"

   'KAKO odavde sada pokrenuti javascript funkciju OpenNovi

 End Sub


Kao sto je napisano u kodu, kako iz date programske linije (kaka dodele neki podaci session-ima) pokrenuti js funkciju.

Znaci, kada kliknem na button Novi zelim da se u ona dva session-a dodele neki podaci pa tek onda da se pokrene js funkcija tj. da se otvori popup window sa
novom stranicom.

E sada, mozda mnogo trazim ako pitam kako, kada se otvori ta nova stranica u popup win (novi.aspx), bude disable-ovana "glavna" tj. parent (test.aspx) stranica.

Ne zelim da radim sa <a href=.... jer mi je potrebno, kao sto sam gore napisao, da upisem neke podatke u session-e pa tek onda otvaram popup (novi.aspx), koji ce iskorisiti te podatke radi daljeg "rada" stranice.

Unapre hvala na odgovoru/primeru.

Pozdrav svima.
Nebojsa.

P.S. googlovao sam ali se nikako ne snalazim, zato sam ovde i postavio pitanje.
 
Odgovor na temu

S A J A
Beograd

Član broj: 226539
Poruke: 1904
*.static.sbb.rs.



+421 Profil

icon Re: Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)15.06.2012. u 07:32 - pre 143 meseci
Pokretanje client funkcije preko serverskog koda nije baš jednostavno. Sa sledećom komandom možemo naložiti brauzeru da pokrene client skript odma posle nego što se završi tekuća komanda (page load, postback...):


Page.ClientScript.RegisterStartupScript(Me.GetType(), "Nešto", "ImeSkripta();", True)

a probaj i

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Nešto", "ImeSkripta();", True)
 
Odgovor na temu

nebojsa4

Član broj: 235084
Poruke: 48
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)15.06.2012. u 16:50 - pre 143 meseci
Hvala na odgovoru. Pokusacu i to.

Pronasao sam neko resenje :

Code:

 Public Sub OpenNewWindow(ByVal URL As String)
  Dim js As String = "window.open('" + URL + "', null, 'titlebar=no, status=no, ....')"
  Response.Write("<Script type='text/javascript'" & vbCrLf)
  Response.Write(js & vbCrLf)
  Response.Write("</script>" & vbCrLf)
 End Sub


Vase misljenje? Valja li? (otvara novi prozor bez problema)

E sada, pojavio se drugi problem. Kod zatvaranja popup-a, zelim da se u "parent" stranici izvrsi reload... to i uradi dole navedeno ali mi browser postavlja pitanje oko, valjda, refresh-a stranice svaki put, i kada kliknem na Resend, podaci u parent stranici se osveze (konkretno GridView) ali mi se ponovo pojavi popup... ?!

Ovo je kod za zatvaranje popup-a.
Code:

 Public Sub CloseWindow()
            Response.Write("<SCRIPT type='text/javascript'>" & vbCrLf)
            Response.Write("window.close();" & vbCrLf)
            Response.Write("if (window.opener && !window.opener.closed) {window.opener.location.reload();}" & vbCrLf)
            Response.Write("</SCRIPT>" & vbCrLf)
 End Sub


Na koji nacin da se izvrsi osvezavanje "parent" stranice (kada, npr. na popup-u kliknem na button koji sam nazvao "Snimi") bez gore navedenog problema?

Unapred hvala.

Pozz.
 
Odgovor na temu

nebojsa4

Član broj: 235084
Poruke: 48
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)15.06.2012. u 18:44 - pre 143 meseci
Resenje pronadjeno :

Code:

Public Sub CloseWindowPostback()
        With HttpContext.Current.Response
            .Write("<script type='text/javascript'>" & vbCrLf)
            .Write("<!--" & vbCrLf)
            .Write("window.opener.document.forms[0].submit();" & vbCrLf)
            .Write("self.close();" & vbCrLf)
            .Write("//-->" & vbCrLf)
            .Write("</script>" & vbCrLf)
        End With
    End Sub


Ostalo je jos samo kako disable-ovati parent stranicu (ono, da posivi, da se ne moze kliknuti niti bilo sta raditi na istoj dok se ne zatvori popup).

Pozz.
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: Pokretanje javascript funkcije klikom na button - codebehind (asp.net vb)

[ Pregleda: 1640 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.