Avatar billede moejensen Nybegynder
26. februar 2002 - 15:25 Der er 11 kommentarer og
1 løsning

Overførsel af variabler fra form til en ny side i ASP.NET skrevet

Jeg har følgende form:

<form method="POST" action="VisInfo.aspx" name="Information">
  <input type="hidden" value="4" name="side">
  <input type="submit" value="Info"></p>
</form>

den værdi der står i value, vil jeg gerne have tildelt variablen side i nedenstående dokument, når jeg trykker submit.

Der hvor værdien skal sættes ind er her:

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

    private InfoControl iControl = InfoControl.getInstance();
    public string tekst;
    public int side; <--------------HER!!!!
    void Page_Load(Object sender, EventArgs e)
    {
        if (tekst == "Overskrift")
        { 
            Res.InnerHtml = iControl.getOverskrift(side);
        }
        if (tekst == "Beskrivelse")
        {
            Res.InnerHtml = iControl.getBeskrivelse(side);
        }
    } 
</script>


<div runat="server" id="Res" />
Avatar billede osaka_san Nybegynder
26. februar 2002 - 15:40 #1
prøv at søge på request.params i dokumentationen
Avatar billede nute Nybegynder
26. februar 2002 - 15:44 #2
Request.QueryString.Get("side");
Avatar billede moejensen Nybegynder
26. februar 2002 - 15:48 #3
jeg kan ikke finde noget
Avatar billede moejensen Nybegynder
26. februar 2002 - 15:49 #4
nute-->Jeg bruger POST som metode, så jeg har ingen QueryString
Avatar billede nute Nybegynder
26. februar 2002 - 15:51 #5
well...så benytter du jo bare 'Form' istedenfor 'QueryString':

Request.Form.Get("side");

/nute
Avatar billede moejensen Nybegynder
26. februar 2002 - 15:56 #6
Det ser nu således ud: public int side = Request.Form.Get("side");

og jeg får følgende fejl:

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0120: An object reference is required for the nonstatic field, method, or property 'System.Web.UI.UserControl.Request'

Source Error:



Line 5:      private InfoControl iControl = InfoControl.getInstance();
Line 6:      public string tekst;
Line 7:      public int side = Request.Form.Get("side");
Line 8:      void Page_Load(Object sender, EventArgs e)
Line 9:      {
Avatar billede odegaard Nybegynder
26. februar 2002 - 16:15 #7
Plejer det ikke bare at være Request.Form("side"); ???
Avatar billede moejensen Nybegynder
26. februar 2002 - 16:21 #8
husk på det er ASP.NET, men det virker heller ikke uden GET
Avatar billede nute Nybegynder
26. februar 2002 - 17:01 #9
siden 'Request' er en del av 'Page' objektet, så er du nødt til å legge din request inn i Page_Load:

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

  } catch( Exception e ){
    // en feil oppstod
    side = -1;
  }
}
Avatar billede moejensen Nybegynder
27. februar 2002 - 08:09 #10
så virker det....tusind tak....
Avatar billede moejensen Nybegynder
27. februar 2002 - 08:40 #11
Det virker, men nu satte vi et krav mere til vores side, og nu virker det ikke igen. Meningen var at når vi klikkede på knappen skulle den åbne den næste side i et nyt vindue, og 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 #12
jeg har oprettet det som et nyt spørgsmål her: http://www.eksperten.dk/spm/178363
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