Avatar billede srofhest Nybegynder
09. august 2007 - 13:35 Der er 14 kommentarer og
1 løsning

låse side så den kun kan åbnes som popup?

Hej, håber det her er det rigtige sted at spørge om det her.

Jeg har en side som jeg bruger som popup, det input den får fra brugeren vil blive sendt videre til den første side.

altså jeg har min default side med en knap og en textbox.

Button1.Attributes.Add("onclick", "java script:calendar_window=window.open('Calender.aspx','GetDate','width=425,height=300');calendar_window.focus();");

og jeg har min calender.aspx med et kalender og en clear knap.

Mit spøgsmål er hvordan man låser siden så man kun kan åbne den sådan for hvis man går ind og tester www.minside.com/calender.aspx åbner den som en normal side.
Avatar billede karsten_larsen Praktikant
09. august 2007 - 13:58 #1
Du kan tjekke om siden kommer fra calender.aspx og hvis true vises den
:-) karsten_larsen
Avatar billede srofhest Nybegynder
09. august 2007 - 14:03 #2
ja, at taenke sig om...
Avatar billede karsten_larsen Praktikant
09. august 2007 - 14:03 #3
Noget i denne stil

If Request.ServerVariables("HTTP_REFERER") = "calender.aspx" then
' show page
end if
Avatar billede srofhest Nybegynder
09. august 2007 - 14:12 #4
Det ser da meget fornuftigt ud.
Men laver det nu lige om til c# ;)
Avatar billede karsten_larsen Praktikant
09. august 2007 - 14:22 #5
if (Request.ServerVariables("HTTP_REFERER") == "calender.aspx")
{
    // show page
}
Avatar billede srofhest Nybegynder
09. august 2007 - 14:28 #6
if (Request.ServerVariables["HTTP_REFERER"] == "calender.aspx")
{
    // show page
}

;)
Avatar billede karsten_larsen Praktikant
09. august 2007 - 14:35 #7
takker for point
:-) karsten_larsen
Avatar billede olebole Juniormester
09. august 2007 - 15:38 #8
<ole>

Er det mon noget, du har testet? Jeg har vanskeligt ved at se, hvordan referer'en kan blive dokumentet selv. Der bør vel stå:

if (Request.ServerVariables["HTTP_REFERER"] == "siden_der_popper_kalenderen_op.aspx")
{
    // show page
}

- eller ...?  =)

/mvh
</bole>
Avatar billede srofhest Nybegynder
10. august 2007 - 09:13 #9
nej for jeg var ikke ved min com, har ikke internet ATM da jeg lige er flyttet.

Men da jeg testede det der hjemme saa virkede HTTP_REFERER fint nok med postbacks, men som du siger ole saa rigtigt nok virker det ikke med client side popup... hmm maa finde en ny maade.
Avatar billede srofhest Nybegynder
10. august 2007 - 10:52 #10
hmm lidt info.

Default2.aspx

    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Attributes.Add("onclick", "java script:calendar_window=window.open('Calender.aspx','GetDate','width=367,height=260');calendar_window.focus();");
    }

Calender.aspx

    private void btnClearDate_Click(object sender, System.EventArgs e)
    {
        string scr = "<script language='javascript'> window.opener.form1.txtExpDate.value='';window.close();</script>";
        Response.Write(scr);
    }

    private void calStartDate_SelectionChanged(object sender, System.EventArgs e)
    {
        string dt = calStartDate.SelectedDate.ToString("dd-MM-yyyy");
        string scr = "<script language='javascript'> window.opener.form1.txtExpDate.value='" + dt + "';window.close();</script>";
        Response.Write(scr);
    }
Avatar billede srofhest Nybegynder
10. august 2007 - 11:04 #11
prQver lige igen ;)

Calender.aspx

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string var;
            var = Request.ServerVariables["HTTP_REFERER"];
            Label lbl = new Label();
            if (var == null)
            {
                lbl.Text = "Empty";
            }
            else
            {
                lbl.Text = var;
            }
            Page.Controls.Add(lbl);
            /* if (var == "Test/Default2.aspx")
            {
                Panel1.Enabled = true;
            }
            else
            {
                Panel1.Enabled = false;
                Server.Transfer("PageNotFound.aspx");
            } */
            Panel2.Visible = false;
            string select = "Select year of birth";
            DDYear.Items.Add(select);

            for (int x = 0; x < 101; x++)
            {
                int year = DateTime.Now.Year - x;
                DDYear.Items.Add(year.ToString());
            }
        }
    }
    protected void DDYear_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DDYear.SelectedValue == "Select year of birth")
        {
            Panel2.Visible = false;
        }
        else
        {
            Panel2.Visible = true;
        }
    }
    protected void calStartDate_SelectionChanged(object sender, EventArgs e)
    {
        string dt = calStartDate.SelectedDate.ToString("dd-MM-") + DDYear.SelectedValue.ToString();
        string scr = "<script language='javascript'>window.opener.form1.txtExpDate.value='" + dt + "';window.close();</script>";
        Response.Write(scr);
    }
    protected void btnClearDate_Click1(object sender, EventArgs e)
    {
        string scr = "<script language='javascript'>window.opener.form1.txtExpDate.value='';window.close();</script>";
        Response.Write(scr);
    }
Avatar billede karsten_larsen Praktikant
10. august 2007 - 11:38 #12
Dette med session virker:


PopUp:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Page.IsPostBack = False Then
            If Session("ok") = Nothing Then
                Response.Redirect("FromPage.aspx")
            End If
            If Session("ok") = "OK" Then
                Label1.Text = Now()
            End If
        End If
    End Sub

FromPage.aspx
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Page.IsPostBack = True Then
            Session("ok") = "OK"
            Response.Redirect("PopUp.aspx")
        End If
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Page.IsPostBack = True Then
            Response.Redirect("PopUp.aspx")
        End If
    End Sub
Avatar billede srofhest Nybegynder
10. august 2007 - 13:04 #13
Forstaar ikke helt hvor du vil hen med det der. Response.Redirect vil aldrig give et popup...
Avatar billede karsten_larsen Praktikant
10. august 2007 - 13:43 #14
PopUp.aspx må kun åbnes hvis siden aktiveres fra FromPage.aspx. Det vil sige, at ved direkte kald på PopUp.aspx, så kan den side ikke vises.
Avatar billede srofhest Nybegynder
10. august 2007 - 14:27 #15
Ja det har jeg forstaaet men det vil jo ikke fungere i en direkte popup (client side).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester