Avatar billede mikkel_sommer Nybegynder
04. juni 2007 - 11:53 Der er 20 kommentarer og
2 løsninger

Flere aspx sider, men samme URL

Hej Eksperter.

Jeg har lavet et web projekt til oprettelse af spørgeskemaer, projektet består af 6 aspx sider, en til log in, en til at vælge firma, en til at vælge spørgeskema osv.

Jeg kunne godt tænke mig at uanset hvilken af de 6 sider man befinder sig på så står der det samme i URL'en.

Som det er nu står der:

http://localhost:3448/LogOn.aspx
http://localhost:3448/Company.aspx
http://localhost:3448/Questionnaire.aspx

osv.

Mit ønske er at der altid skal stå:

http://localhost:3448

... så længe det kører på localhost, naturligvis.

Håber nogen kan hjælpe...
Avatar billede jps6kb Novice
04. juni 2007 - 12:43 #1
Du kan bruge en Wizard. ;)
Der laver du flere steps og så sætter det aktuelle step aktivt alt efter hvad du vil have de skal se.

Alternativt kan du lave paneler, som du sætter Visible = false / true.
Avatar billede karsten_larsen Praktikant
04. juni 2007 - 13:14 #2
Jeg vil bruge MultiView eventuelt sammen med UserControl for overskuelighedens skyld. Du kan styre de enkelte Views via en session, og på den måde kan du håndtere en evt. frem og tilbage knap.

Du kunne også gøre brug af Server.Transfer, så vises den samme side i Url´en.

:-) karsten_larsen
Avatar billede mrbonus Novice
04. juni 2007 - 15:50 #3
Server.Transfer kan klare tricket, men du skal lige læse op på den, for den har et par bagsider. min løsninger af problemet er at lave en index.htm, med en Iframe som pager på Logon.aspx, så vil der altid stå
http://localhost:3448
i dit adresse felt.

Så fremt du i din IIS har sat "index.htm" som en automatisk startside, i min IIS kommer den automatisk, men du skal lige sikre dig at den er der.
Du kan se om den er der ved at gå ind i din IIS fra kontrolpanel->administration->Internet Information Services, og derefter gå ind på websteder->standard websted->og vælge egenskaber på dit websted, og derefter gå ind på "dokumenter" fanebladet, og se om den står i dine standarddokumenter, og om "Aktiver standard dokumenter" er slået til.
Avatar billede karsten_larsen Praktikant
04. juni 2007 - 16:43 #4
Ved iframe skal du nok bruge button og ingen hyperlink, da brugeren ellers kan åbne andre vinduer ud fra et link i iframe og så mister du kontrollen.
Avatar billede mrbonus Novice
04. juni 2007 - 19:36 #5
?? du kan du både bruge buttons og hyperlinks til at åbne eksterne lokationer i nye vinduer.
Avatar billede mrbonus Novice
04. juni 2007 - 19:38 #6
Ahhh, du snakkede ikke om eksterne lokationer, du snakkede om interne lokationer, my bad.
Avatar billede mikkel_sommer Nybegynder
06. juni 2007 - 08:36 #7
Jeg har kigget lidt på Server.Transfer og når jeg gik fra logon til company stod der godt nok stadig logon, men når jeg gik videre til questionnaire stod der company og så faldt den løsning lidt igennem.

mrbonus - det du siger med en index og iframe lyder som en løsning, du skulle vel ikke ligge inde med et simpelt eksempel, gerne tomme sider, bare jeg kan se hvordan det med en iframe som peger videre på en side, i det her tilfælde min logon, ser ud.
Avatar billede mrbonus Novice
07. juni 2007 - 11:44 #8
Nej men jeg kan da hurtigt bikse et eksempel sammen til dig

dette er en mulig løsning

<html>
<head>
    <title>Mit applications navn, som kan ses på alle siderne</title>
</head>
<body>
<style type="text/css">
body
{
    padding:0px 0px 0px 0px;
    margin:0px 0px 0px 0px;
}
.myIframe
{
}
</style>
<iframe class="myIframe" src="panelChooser.html" width="100%" height="100%" frameborder="no" />
</body>
</html>
Avatar billede mrbonus Novice
07. juni 2007 - 11:44 #9
så skal der bare stå LogOn.aspx der hvor der står panelChooser.html
Avatar billede mikkel_sommer Nybegynder
07. juni 2007 - 12:32 #10
Hvordan kan jeg så fra code behind filen få fat i src på iframen når der skal skiftes side?
Avatar billede karsten_larsen Praktikant
07. juni 2007 - 12:48 #11
I denne stil

<IFRAME id="frame1" scrolling="auto" runat="server">
</IFRAME>



Protected WithEvents frame1 As System.Web.UI.HtmlControls.HtmlGenericControl

Dim frame1 As HtmlControl = CType(Me.FindControl("frame1"), HtmlControl)

frame1.Attributes("src") = "NySide.Aspx"
Avatar billede mikkel_sommer Nybegynder
07. juni 2007 - 13:40 #12
Jeg har prøvet med (C#):

                HtmlControl frame = (HtmlControl)this.Page.FindControl("frame1");
                frame.Attributes["src"] = "Company.aspx";

men det siger: Objektreferencen er ikke indstillet til en forekomst af et objekt.
Avatar billede karsten_larsen Praktikant
07. juni 2007 - 14:27 #13
protected System.Web.UI.HtmlControls.HtmlGenericControl frame1;
Avatar billede mikkel_sommer Nybegynder
07. juni 2007 - 15:43 #14
Jeg får stadig samme fejl.

Det er i LogOn code behind filen det skal ind ikk?
Avatar billede karsten_larsen Praktikant
07. juni 2007 - 15:54 #15
Dette fungerer

aspx:
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <div>
        <IFRAME id="frame1" scrolling="auto" runat="server">
</IFRAME>
        </div>
    </form>
</body>
</html>


og Codebehind


Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim frame1 As HtmlControl = CType(Me.FindControl("frame1"), HtmlControl)

        frame1.Attributes("src") = "http://www.exp.dk"
    End Sub
End Class

mvh karsten_larsen
Avatar billede karsten_larsen Praktikant
07. juni 2007 - 15:56 #16
I C# må det være - glemte et "1"
HtmlControl frame1 = ((HtmlControl)(this.FindControl("frame1")));
frame1.Attributes("src") = "http://www.exp.dk";
Avatar billede karsten_larsen Praktikant
07. juni 2007 - 16:07 #17
Bortset fra at exp.dk ikke vil linkes via Iframes prøv i stedet dr.dk
Avatar billede mrbonus Novice
07. juni 2007 - 16:09 #18
du kan bare bruge Response.Redirect()
Avatar billede mrbonus Novice
07. juni 2007 - 16:11 #19
uddyber lige, hvis src på din Iframe starter på "logon.aspx" så kan du bare redirecte inden fra din kode af, så vil den automatisk redirecte inden i iframen
Avatar billede mikkel_sommer Nybegynder
08. juni 2007 - 08:47 #20
Super, nu virker det, mange tak for hjælpen gutter smid et svar så skal i få jeres velfortjente point :)
Avatar billede mrbonus Novice
08. juni 2007 - 08:50 #21
Var så lidt
Avatar billede karsten_larsen Praktikant
08. juni 2007 - 10:14 #22
Svar :-) karsten_larsen
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