Avatar billede martin_moth Mester
20. februar 2004 - 14:27 Der er 4 kommentarer og
2 løsninger

Link fra knap

Det er så simpelt så det næsten er pinligt at spørge om:

Jeg vil have en dropdown hvor man kan vælge foldernavne. Når man trykker på en knap, skal der åbnes et link afhængig af valgte foldernavn link åbnes i en anden frame:

<script  runat="server">
Sub submit(sender As Object, e As EventArgs)

  'Her skal comboboxens valg aflæses, og der skal åbnes et link
  '../<combovalg>/index.html
  'med target="MyFrameName"

End Sub
</script>

<html>
<body>

<form runat="server">
<asp:DropDownList id="drop1" runat="server">
<asp:ListItem>Folder1</asp:ListItem>
<asp:ListItem>Folder2</asp:ListItem>
</asp:DropDownList>
<asp:Button Text="Åbn Link" OnClick="submit" runat="server"/>
<p><asp:label runat="server"/></p>
</form>

</body>
</html>


Endnu smartere, hvis der er mulighed for en form for ekstra information for hvert item, så der i dropdown-boxen står

"Folder med navn Folder1"
"Folder med navn Folder2"

og til de item er knyttet værdien
"Folder1"
"Folder2"

der så bruges i linket.

Got it?
Avatar billede martin_moth Mester
20. februar 2004 - 14:28 #1
Hov, der kom lige en <p><asp:label runat="server"/></p> for meget med. Ignorer den
Avatar billede roger Nybegynder
21. februar 2004 - 21:00 #2
<asp:DropDownList id="drop1" runat="server">
<asp:ListItem Value="Folder1">Folder med navn Folder1</asp:ListItem>
<asp:ListItem Value="Folder2">Folder med navn Folder2</asp:ListItem>
</asp:DropDownList>
<asp:Button Text="Åbn Link" OnClick="submit" runat="server"/>

----------------------------------------------------------------------
private void submit(object sender, System.EventArgs e) {
    Response.Redirect("../"+this.DropDownList1.SelectedValue+"/index.html");
}
Avatar billede dj Nybegynder
21. februar 2004 - 21:07 #3
Noget i den her stil burde kunne gøre det:
(Sorry at jeg har valgt at benytte C# istedet, gidder ikke lige sætte mig ind i VB syntaxen, håber du overlever alligevel :))
---------------------------

<script language="C#" runat="server">
void submit(Object sender, EventArgs e) {
Response.Redirect("../" + drop1.SelectedValue + "/index.html");
}
</script>

<html>
<body>

<form runat="server">
  <asp:DropDownList id="drop1" runat="server">
    <asp:ListItem Value="Folder1">Folder1</asp:ListItem>
    <asp:ListItem Value="Folder2">Folder2</asp:ListItem>
  </asp:DropDownList>
  <asp:Button Text="Åbn Link" OnClick="submit" runat="server"/>
</form>

</body>
</html>

-------------------------

Det er dog ikke helt nemt sådan lige at bede den om at forwarde det til en bestemt frame. Den nemme løsning er i den framesside at gøre følgende:

<frame name="MyFrameName" src="<%= Request.Params["mainpage"] %>">

og så istedetfor:
Response.Redirect("../" + drop1.SelectedValue + "/index.html");

Skrive:
Response.Redirect("framespage.aspx?mainpage=../" + drop1.SelectedValue + "/index.html");

Hvis du kan se pointen :)

Det kan også være du bare kan nøjes med at sætte default target for framen med din dropdownbox til MyTargetFrame .. men jeg er ikke 100% sikker på det vil virke med Response.Redirect(). Ovenstående burde dog ikke give problemer.
Avatar billede martin_moth Mester
22. februar 2004 - 00:16 #4
Lækkert. Takker
Avatar billede dj Nybegynder
22. februar 2004 - 11:23 #5
np, hvis du er tilfreds med et af svarene må du gerne lukke spørgsmålet :)
Avatar billede martin_moth Mester
22. februar 2004 - 12:33 #6
Troede jeg at jeg havde gjort - eksperten opfører sig underligt i dag..
I øvrigt underligt, at man ikke mere simpelt kan angive et target. Hmm
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