Avatar billede llcoolj Nybegynder
09. oktober 2002 - 10:16 Der er 9 kommentarer og
4 løsninger

Kan man kalde en metode på en anden side i en anden Frame?

Hejsa- har efterhånden døjet en del med min Frame opbygning, så derfor laver jeg ikke min næste applikation med dette....
Men er det ikke muligt at kalde en onclick metode på en anden side i en anden frame. Jeg skal nemlig lukke en undermenu i min menuframe når jeg linker direkte mellem sider fra to forskellige menuer og dernæst åbne den undermenu som den side jeg linker til tilhører....

...Håber I kan forstå hvad jeg mener.
Avatar billede burningice Nybegynder
09. oktober 2002 - 10:28 #1
nope... det kan du ikke... onclick procedurer er baseret på postback til samme side.
Det du kan gøre er at linke til din frame med en querystring og på den måde få afviklet noget kode alt efter hvad querystringen er.
Avatar billede askhoej Praktikant
09. oktober 2002 - 10:32 #2
Kan du ikke reloade siden med menuen, med en querystring parameter som fortæller hvilket menupunkt der skal åbnes? - så slipper du for at skulle kalde metoder på tværst af frames.

/askhoej
Avatar billede llcoolj Nybegynder
09. oktober 2002 - 13:07 #3
-> Askhoej Det lyder umiddelbart som om at ideen kunne anvendes, men jeg er ikke helt klar over hvordan jeg beder en anden frame om at reloade og derpå åbne et bestemt bestemt undermenu...
Avatar billede burningice Nybegynder
09. oktober 2002 - 13:35 #4
det er vist det samme som jeg foreslog

<a href="dinframe.aspx?asd=1234" target="dinframe">Dit link</a>
Avatar billede llcoolj Nybegynder
09. oktober 2002 - 14:15 #5
det du foreslår kan jeg vel ikke bruge, da jeg ved klik på linket skal starte en ny side i den frame(MAINFRAME) som siden med linket er í, mens jeg i en anden frame(MENUFRAME) med min menu side gerne vil skifte til en anden undermenu som følge af mit link til anden side i "mainframen"...
Avatar billede burningice Nybegynder
09. oktober 2002 - 14:32 #6
ah... nej, hvis det er det du skal kan du ikke gøre det på den måde.

du kan dog lave noget i retningen af det her

function loadframes() {
  dinframe.location.href = 'dinframe.aspx?ad?'
  dinandenframe.location.href = 'dinandenframe.aspx'
}

<a href="java script:loadframes()">Dit Link</a>
Avatar billede jakobandersen Nybegynder
09. oktober 2002 - 15:02 #7
Kig på løsningerne her:

http://www.usenet.dk/oss/dk.edb.internet.webdesign/frames.html#Opdater

Alternativt kan du også bruge target="_top" og så genindlæse hele framesettet på den måde slipper du for at være afhængig af javascript.
Avatar billede llcoolj Nybegynder
09. oktober 2002 - 16:46 #8
-> cyberfessor
Jeg anvender godt nok C#, men har forsøgt med dit eksempel, men den skriver følgende:
CS1012: Too many characters in character literal
til følgende linie:
Menu.location.href = 'Menu.aspx?modulBVar?';(Menu er min frame)

Jeg forsøgte med dette:
public void loadframes()
            {
                Menu.location.href = 'Menu.aspx?modulBVar?';
                Main.location.href = 'IndgangBTilA.aspx';
            }
og
  <a href="java script:loadframes()">her</a>
Avatar billede burningice Nybegynder
09. oktober 2002 - 17:12 #9
du skal ikke lave det på den måde... det er javascript, som afvikles på clienten... c# afvikles på serveren
Avatar billede burningice Nybegynder
09. oktober 2002 - 17:13 #10
så, altså...

<script language="javascript" type="text/javascript">

function loadframes() {

..

}

</script>

<a href="java script:loadframes()">her</a>
Avatar billede jakobandersen Nybegynder
09. oktober 2002 - 17:27 #11
Jeg vil stadig anbefale dig at indlæse et helt nyt frameset på den måde er du ikke afhængig af javascript.
Avatar billede llcoolj Nybegynder
16. oktober 2002 - 13:14 #12
Har selv løst det på følgende måde:

I den frame(Main) hvor linket er:

i page_load:
// sætter onclick med link til start i menu frame- inkl. var til kontrol i menu frame.
linkButton1.Attributes.Add("onClick","java script:parent.Menu.window.location.href = 'Menu.aspx?var1=bTila';");

ONCLICK METODE:
void skift_Modul(Object sender, EventArgs e)
        {
            Response.Redirect("IndgangBTilA.aspx");
        }
LinkButton:
<asp:LinkButton id="linkButton1" onclick="skift_Modul" runat="server">LinkButton</asp:LinkButton>

På den side der loades i menu frame:
 
I Page_load:
//Her kontrolleres om der linkes fra et modul til et andet og menuen
        //derfor skal opdateres- hvilket den så gør.
        if(Request.QueryString["var1"] != null)
        {
   
        string fraModul = Request.QueryString["var1"].ToString();
   
   
            if(Request.QueryString["var1"].Equals("bTila"))
            {
            Trace.Write("Her i if statement :");
                links2.Visible = !links2.Visible;
                links1.Visible = false;
                links3.Visible = false;
                links4.Visible = false;
                links5.Visible = false;
                links6.Visible = false;
            }
            else if(Request.QueryString["var1"].Equals("cTilb"))
            {
                links3.Visible = !links3.Visible;
                links1.Visible = false;
                links2.Visible = false;
                links4.Visible = false;
                links5.Visible = false;
                links6.Visible = false;
            }
            else if(Request.QueryString["var1"].Equals("aTilb"))
            {
                links3.Visible = !links3.Visible;
                links1.Visible = false;
                links2.Visible = false;
                links4.Visible = false;
                links5.Visible = false;
                links6.Visible = false;
            }
   
            else
            {
            Trace.Write("Her i else statement :");
            }
        }//Kontrol af modulskift til opdatering af menu - end!!

Men tak for alle svarene....
Avatar billede llcoolj Nybegynder
16. oktober 2002 - 13:17 #13
Syntes det var mest fair at dele pointene- eftersom I alle har inspireret mig eller hjulpet til bedre forståelse... Takker
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