webForumDet fria alternativet

Inkludera asp i asp.net

.NET

4 svar · 428 visningar · startad av TonyJ

Medlem sedan apr. 200441 inlägg
Frågan#1

Har letat på forumet och på nätet hur man går till väga för att inkludera funktioner från en asp-sida i en asp.net-sida...utan att hitta nått.
Hur inkluderar jag en asp-sida??
eller har nån en länk till nån fin sida om detta?

Medlem sedan sep. 20026 425 inlägg
#2

Jag har knappt hållt på med .NET sen i april i år, men funktioner i ASP kan lätt återanvändas i .NET, om jag inte missminner mig. Sen beror det ju så klart på vad det är för funktioner, men enklare ASP-funktioner är lätt att implementera i .NET-sidor.

Sen är det meningen med .NET att du ska hålla dig till .NET. Det vill säga du bör göra om din ASP-sida som du vill inkludera till en .aspx-sida, eller varför inte en användarkontroll?

Skapa först huvudsidan, exempelvis default.aspx:

<%@ Page Language="VB" Strict="False" Debug="True" Inherits="defaultclass" Src="default.vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
    <title>Titel</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>

<a href="default.aspx?cat=1">Inkludera fil 1</a> | <a href="default.aspx?cat=2">Inkludera fil 2</a>

<p>
<form id="def" method="post" runat="server">
    <asp:placeholder id="main" runat="server"></asp:placeholder>
</form>

</body>
</html>

I ett webbformulär skapar du nåt som kallas för en PlaceHolder. I denna kommer du sen att kunna visa "inkluderade" sidor. Nästa sida du bör göra är default.vb:

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports Microsoft.VisualBasic

Public Class defaultclass : Inherits Page

protected withevents main As placeholder

    Sub Page_Load()
        If Not Page.IsPostBack Then

            Dim cat As string = fixt(Request.Querystring("CatId"))

            Select Case cat
                Case "1"
                    main.Controls.Add(Page.LoadControl("usercontrols/sida-1.ascx"))
                    head.Text = "Sida 1 att inkludera"
                Case "2"
                    main.Controls.Add(Page.LoadControl("usercontrols/sida-2.ascx"))
                    head.Text = "Sida 2 att inkludera"
            End Select

        End If
    End Sub

End Class

default.vb som filen heter, är en codebehind-fil. Man bör separera kod från design numera när man bygger hemsidor, och tack vare codebehind i .NET är detta en bra möjlighet att ta tillvara.
I default.vb har vi en klass och en procedur. I proceduren så säger vi åt .NET-motorn att beroende på vilken länk du klickade på på default.aspx, så ska olika innehåll. visas (sida-1.ascx eller sida-2.ascx.

Slutligen så skapar du två filer som heter sida-1.ascx och sida-2.ascx - det är dessa som är användarkontroller. I dessa sidor kan du ha det du vill inkludera. En sån användarkontroll kan se ut så här:

<%@ Control Language="VB" %>
Här placerar du det du vill ska synas på en sida.

Hoppas att jag svarade på rätt fråga bara.

Medlem sedan apr. 2004298 inlägg
#3

Jag har lyckats att "inkludera" en Classic asp sida i en aspx-sida.

Största användningen jag har av det är att jag kan återanvända menyer som jag hade som include filer.

Det är en userkontrol som "streamar" en sites sida och även tar hänsyn till Querystrings. PM:a mig så kan du få källkoden. Måste nog bara bryta ut den ur ett projekt.

Edit: Hur fan kom jag in på denna tråd...? Kankse lite sent ute.. Såg inte datumet :o

/pär

Medlem sedan juni 20019 024 inlägg
#4

Varför använder man asp.net om man bara inkluderar asp ändå? Vore det inte bättre att gå över helt till .net?

Medlem sedan apr. 2004298 inlägg
#5

Pace skrev:

Varför använder man asp.net om man bara inkluderar asp ändå?

Det gör nog ingen...

Pace skrev:

Vore det inte bättre att gå över helt till .net?

Jo!

Pace skrev:

Varför använder man asp.net om man bara inkluderar asp ändå?
Vore det inte bättre att gå över helt till .net?

Summan:
Vi borde bygga om hela Sverige! Utan att använda något vi tidigare gjort. :OO

/p

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)