Avatar billede moejensen Nybegynder
27. februar 2002 - 09:24 Der er 14 kommentarer og
1 løsning

overførsel af variabel til nyt vindue

Jeg har nedenstående kode,hvor meningen var at når jeg klikkede på knappen skulle den åbne den næste side i et nyt vindue, men så får den ikke overført variablen. Har du nogen løsning på det problem??

Her har du lige koden.

Test.htm

<title>New Page 1</title>

<script language="JavaScript">
  <!-- Gem for gamle browsere
 
  function info(side)
  {
    window.open(side,"3","status=no, toolbar=no, location=no, width=600, height=700, resizable=no, scrollbars=no");
  }

  // -->
</script>

</head>

<body>

<form method="POST" name="Information">
  <input type="hidden" value="3" name="side">
  <input type="button" value="Info" onClick="java script:info('VisInfo.aspx')"></p>
</form>

VisInfo.ascx

<%@ Control ClassName="Tekst" %>
<%@ Import Namespace="NefroFace" %>
<script Language="C#" runat="server">

    private InfoControl iControl = InfoControl.getInstance();
    public string tekst;
    public int side;
    void Page_Load(Object sender, EventArgs e)
    {
        side = Int32.Parse( Request.Form.Get("side") );

        if (tekst == "Overskrift")
        { 
            Res.InnerHtml = iControl.getOverskrift(side);
        }
        if (tekst == "Beskrivelse")
        {
            Res.InnerHtml = iControl.getBeskrivelse(side);
        }
    } 
</script>


<div runat="server" id="Res" />
Avatar billede moejensen Nybegynder
27. februar 2002 - 09:25 #1
se det indledende til dette spørgsmål her: http://www.eksperten.dk/spm/178002
Avatar billede osaka_san Nybegynder
27. februar 2002 - 09:36 #2
øhh ja, du sender jo ikke variablen videre. Det eneste du gør er at åbne et nyt vindue med filen visinfo.aspx.

Dvs Du submitter jo ikke formen til det nye vindue.
Avatar billede moejensen Nybegynder
27. februar 2002 - 09:41 #3
hvad skal jeg så gøre for at overføre variablen og så åbne vinduet bagefter??
Avatar billede nute Nybegynder
27. februar 2002 - 11:18 #4
tja...en måte er å bytte ditt javascript ut med dette:

<script language="JavaScript">
  <!-- Gem for gamle browsere
 
  function info(side){
    window.open(side + "?side="+document.Information.side.value,"3","status=no, toolbar=no, location=no, width=600, height=700, resizable=no, scrollbars=no");
  }

  // -->
</script>

og deretter bytte din 'request.form' om til 'request.Querystring'

/nute
Avatar billede moejensen Nybegynder
27. februar 2002 - 11:47 #5
nu får jeg denne fejl:

Compiler Error Message: CS0246: The type or namespace name 'Int' could not be found (are you missing a using directive or an assembly reference?)
Avatar billede moejensen Nybegynder
27. februar 2002 - 11:56 #6
det skal lige siges at det den brokker sig over er følgende link:

side = Int32.Parse( Request.QueryString.GetValues("side") );
Avatar billede nute Nybegynder
27. februar 2002 - 12:00 #7
hvorfor har du plutselig byttet ut 'Get' med 'GetValues' ???? bruk 'Get' !!
Avatar billede moejensen Nybegynder
27. februar 2002 - 12:05 #8
jeg fik en fejl før da jeg satte get ind, men nu virker det fint :-)
Avatar billede nute Nybegynder
27. februar 2002 - 12:12 #9
grunnen til at du ikke skal benytte 'GetValues' er på grunn av at den returnerer en string[]. Og den kan du ikke parse til en int...

/nute
Avatar billede moejensen Nybegynder
27. februar 2002 - 12:27 #10
okay,nu er problemet bare at den side der bliver kaldt, altså aspx filen, er i en frame, så kan den ikke hente QueryString'en ud.
Avatar billede nute Nybegynder
27. februar 2002 - 12:37 #11
joda...du skal bare sende parametre videre til den frame som inneholder din .aspx side, enten med javascript eller C#
Avatar billede moejensen Nybegynder
27. februar 2002 - 12:51 #12
Vi kan ikke få det til at virker, herunder har du den side der bliver kaldt, med side=4, men vi kan ikke få den variabel hevet ud og sat efter den side der skal åbnes i midten.

Her er koden:

<%@Page Language="C#"%>
<%@ Register TagPrefix="VisInfo" Tagname="Tekst" Src="VisInfo.ascx"%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>

<frameset rows="70,*,60" border="0">
  <frame name="top" scrolling="no" noresize src="VisInfo_top.aspx" target="middle">
  <frame name="middle" src="VisInfo.aspx" > <-- VARIABLEN SKAL SÆTTES PÅ HER, SÅ DER KOMMER TIL AT STÅ "VisInfo.aspx?side=variablen"
  <frame name="bottom" scrolling="no" noresize src="VisInfo_bottom.aspx">
  <noframes>
  <body>

  <p>This page uses frames, but your browser doesn't support them.</p>

  </body>
  </noframes>
</frameset>

</html>
Avatar billede moejensen Nybegynder
27. februar 2002 - 12:56 #13
Er det ikke muligt i nedenstående kode at sætte den variabel der hedder side:

<%@ Control ClassName="Tekst" %>
<%@ Import Namespace="NefroFace" %>
<script Language="C#" runat="server">

    private InfoControl iControl = InfoControl.getInstance();
    public string tekst;
    public int side;
    void Page_Load(Object sender, EventArgs e)
    {
        side = Int32.Parse( Request.QueryString.Get("side") );

        if (tekst == "Overskrift")
        { 
            Res.InnerHtml = iControl.getOverskrift(side);
        }
        if (tekst == "Beskrivelse")
        {
            Res.InnerHtml = iControl.getBeskrivelse(side);
        }
    } 
</script>


<div runat="server" id="Res" />

ex. hver gang brugeren går ind på en side, så bliver side variablen automatisk sat til nummeret på den side han er på??
Avatar billede nute Nybegynder
27. februar 2002 - 12:59 #14
bytt ut

<frame name="middle" src="VisInfo.aspx" >

med

<frame name="middle" src="VisInfo.aspx?side=<%= Request.QueryString.Get("side") %>">

/nute
Avatar billede moejensen Nybegynder
27. februar 2002 - 14:24 #15
det virker nu...tusiond tak for hjælpen...er du mulig at få fat på på icq elle msn, for yderligere spg??
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
Kurser inden for grundlæggende programmering

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