Avatar billede arh1 Nybegynder
14. juli 2007 - 11:51 Der er 12 kommentarer

ASP og ASP.Net på samme tid

Hej allesammen.

Jeg ville høre om det er muligt at udføre ASP og ASP.Net kode i SAMME FIL.
Jeg er nybegynder i ASP, men har kodet en del PHP før. (Jeg startede med PHP i maj 2005) .
Avatar billede nielle Nybegynder
14. juli 2007 - 17:18 #1
I samme fil ... nej: Fil-efternavnet .asp eller .aspx bestemmer suberent om webserveren forsøger at tolke indholdet som ASP eller ASP.NET.

På samme hjemmeside ... ja: Men det er nu ikke nogen specielt god ide.
Avatar billede neoman Novice
14. juli 2007 - 17:41 #2
Du kan klistre .ASP kode ind på en .ASPX side og få det til at køre med få ændringer, hvis du sætter AspCompat="True" i din page directive, men det er absolut ikke anbefalelsesværdigt.
Avatar billede arh1 Nybegynder
14. juli 2007 - 18:20 #3
til jer begge: hm, hvorfor ikke?

og kan man f.eks. ikke inkludere en asp fil til asp.net, så asp filen køres som asp, og aspx køres som asp.net?
Avatar billede nielle Nybegynder
14. juli 2007 - 18:24 #4
> til jer begge: hm, hvorfor ikke?

Hvorfor ikke: hvad?

> og kan man f.eks. ikke inkludere en asp fil til asp.net, så asp filen køres som asp, og aspx køres som asp.net?

Jo det kan man sagtens - det er webserveren som bestemmer om den vil kendes ved ASP filer.

Det der er problemet er hvis du ønsker at en ASP.Net fil skal sende data til en ASP eller omvendt. Du kan keller ikke bruge sessions på tcærs af filerne, men cookies går muligvis godt. Problemet er faktisk stort set det samme som hvis du ville køre PHP og ASP på samme hjemmeside.
Avatar billede arh1 Nybegynder
14. juli 2007 - 18:40 #5
nielle: med hensyn til: sessions, variabler, etc. kan jeg godt se besvær i, men kan du give mig en kode i ASP.net og ASP til at inkludere?
Avatar billede nielle Nybegynder
14. juli 2007 - 18:42 #6
Der er ikke noget kode - du anbringer bare ASP filerne i samme folder som dine ASP.Net filerne.
Avatar billede arh1 Nybegynder
14. juli 2007 - 22:43 #7
nielle: det inkluderer da ikke filerne . :s .
Avatar billede nielle Nybegynder
14. juli 2007 - 22:54 #8
Hvad eksakt mener du med at "inkludere" filerne?
Avatar billede arh1 Nybegynder
14. juli 2007 - 23:03 #9
nielle: altså jeg skriver en asp.net kode, der inkluderer en asp fil, og udfører asp koden .
Avatar billede neoman Novice
14. juli 2007 - 23:17 #10
Her  et eksempel  på en .asp fil som blev lavet om til .aspx og asp filen selv kører nogle includes. Jeg kan ikke lige finde noget eksempel på noget hel sammenblandet fil, men så vidt jeg husker så kunne .asp delen smides ind som <script> før selve <FORM> taggen som jo for det meste er der i en .aspx fil.
<%@ LANGUAGE="VB" aspcompat="true" Explicit="true"%>
<%
'  Option Explicit
  'Buffer the response, so Response.Expires can be used
'  Response.Buffer = TRUE
%>

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

  <!--
  Liberum Help Desk, Copyright (C) 2000-2001 Doug Luxem
  Liberum Help Desk comes with ABSOLUTELY NO WARRANTY
  Please view the license.html file for the full GNU General Public License.

  Filename: adminpass.aspx
  Date:    $Date: 2001/12/09 02:01:24 $
  Version:  $Revision: 1.50 $
  Purpose:  Form to set the admin password.
  -->
 
  <!--     #include file = "../public.aspx" -->

  <%
    Dim cnnDB, sid, strMessage
    cnnDB = CreateCon
    sid = GetSid
  %>

  <head>
    <title>
      <%=lang(cnnDB, "HelpDesk")%>&nbsp;-&nbsp;<%=lang(cnnDB, "ChangeAdminPassword")%>
    </title>
    <link rel="stylesheet" type="text/css" href="../default.css">
  </head>
  <body>

    <%
      ' Check for perms to view this page
      Call CheckAdmin(cnnDB)

      ' Save Results
      If Request.Form("save") = "1" Then
        Dim strSQL, AdminPass1, AdminPass2, CurrPass, OldPass, updRes
        AdminPass1 = Left(Trim(Request.Form("AdminPass1")), 50)
        AdminPass2 = Left(Trim(Request.Form("AdminPass2")), 50)
        CurrPass = Trim(Request.Form("CurrPass"))
        OldPass = Cfg(cnnDB, "AdminPass")

        strSQL = "UPDATE tblConfig SET " & _
          "AdminPass = '" & AdminPass1 & "'"

        If (AdminPass1 = AdminPass2) And (CurrPass = OldPass) Then
          updRes = SQLQuery(cnnDB, strSQL)
          strMessage = lang(cnnDB, "PasswordChanged")
        Else
          strMessage = lang(cnnDB, "PasswordChangeFailed")
        End If

      End If

    %>

    <div align="center">
      <form method="post" action="adminpass.aspx">
        <input type="hidden" name="save" value="1">
        <table class="Normal">
          <tr class="Head1">
            <td>
              <%=lang(cnnDB, "ChangeAdminPassword")%>
            </td>
          </tr>
          <% If Request.Form("save") = "1" Then %>
            <tr class="Head2">
              <td>
                <div align="center">
                  <% = strMessage %>
                </div>
              </td>
            </tr>
          <% End If %>
          <tr class="Body1">
            <td>
              <table class="Normal">
                <tr>
                  <td width="120">
                   
                    <b><%=lang(cnnDB, "CurrentPassword")%>:</b>
                  </td>
                  <td>
                    <input type="password" size="30" name="CurrPass">
                  </td>
                </tr>
                <tr>
                  <td width="120">
                    <b><%=lang(cnnDB, "NewPassword")%>:</b>
                  </td>
                  <td>
                    <input type="password" size="30" name="AdminPass1">
                  </td>
                </tr>
                <tr>
                  <td width="120">
                    <b><%=lang(cnnDB, "ConfirmPassword")%>:</b>
                  </td>
                  <td>
                    <input type="password" size="30" name="AdminPass2">
                  </td>
                </tr>
              </table>
              <p>
              <div align="center">
                <input type="submit" value="<%=lang(cnnDB, "Save")%>">
              </div>
            </td>
          </tr>
        </table>
      </form>
      <p>
      <a href="default.aspx"><%=lang(cnnDB, "AdministrativeMenu")%></a>
    </div>

    <%

      Call DisplayFooter(cnnDB, sid)
      cnnDB.Close
    %>
  </body>
</html>

Det kan ikek anbefales pga:
1. De årsager som nielle allerede har nævnt
2. Performance
3. Hele ideen med .NET er at adskille kode fra præsentation - det kan man ikke med .ASP
4. En stor fordel med .NET er jo ViewState, så man ikke selv skal huske hvad status/indholdkontrollerne har, for det husker frameworket for een (i modsætning til de postbacks i classic ASP hvor man jo starter med at genopfylde kontrollerne på hver postback).

Alt i alt, du må have vel nogle vægtige argumenter for at klø på med en sådan cocktail. Hvis ikke, så overvej at omskrive koden til .NET: den vil krympe til en brøkdel af den oprindelige, og du får mange faciliteter i tilgift (og gratis).
Avatar billede neoman Novice
14. juli 2007 - 23:19 #11
det der blev lavet i .NET 1.1 , så det kan godt være at den page directive i toppen skal se lidt anderldes ud ved .NET 2 - du kan prøve ad, systemet brokker sig hvis der er fejl, men giver gode hints.
Avatar billede nielle Nybegynder
23. august 2007 - 08:28 #12
Har du fået svar på dit spørgsmål, eller er der mere?
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