Tråden för smarta ASP tips/tricks

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Erik Juhlin
    Medlem
    • 2000-05-27
    • 7625

    #46
    Man ska i alla fall inte förlita sig på Server.HTMLEncode eftersom att det inte påverkar | och '.

    Pipetecken vet jag inte om de kan strula till det, men när man lägger in strängar med UPDATE eller INSERT eller jämför strängar så bör man ha en funktion som ersätter ' med ''.

    ------------------
    /Erik
    www.juhlin.nu /sk8files/ /mp2d/
    /Erik
    "My love for you is like a truck, BERSERKER"
    "Would you like some making f**k, BERSERKER"

    Comment

    • PatrikB
      Medlem
      • 2000-03-31
      • 2713

      #47
      OK, ett litet tips.

      Ni vet ju att "alla" användare inte kan tex fylla i sina namn ordentligt utan det ser ut tex som detta:

      patrik berggren
      lars-göran anderson

      fast det borde se ut så hära:

      Patrik Berggren
      Lars-Göran Anderson

      Då e denna lilla funktion smidig att ha:
      [kod]
      '## -- make first letter in every word and first letter after - in uppercase --
      Public Function ProperCase(ByVal vValue)
      Dim varTemp, vValue_tmp
      Dim lngLength
      Dim N
      Dim blnProper

      blnProper = True
      lngLength = Len(vValue)

      For N = 1 To lngLength
      varTemp = Mid(vValue,N,1)

      If blnProper = True Then
      varTemp = UCase(varTemp)
      blnProper = False
      End If

      vValue_tmp = vValue_tmp & varTemp

      If varTemp = " " or varTemp = "-" Then
      blnProper = True
      End If
      Next
      '## -- return value in proper case --
      ProperCase = vValue_tmp
      End Function
      [/kod]

      cya,
      PatrikB

      ------------------
      '## -- second place is the first looser -- ##'

      Comment

      • Vide
        Medlem
        • 1999-12-05
        • 6094

        #48
        Ett användbart tips då IIS vägrar uppdatera sidan:

        [kod]Response.AddHeader "Pragma", "no-cache"
        Response.AddHeader "cache-control", "no-store"[/kod]

        ------------------
        Mostly Harmless
        Lite musik: VideGeiger.com och iTunes

        Comment

        • Pace
          Medlem
          • 2001-06-25
          • 5947

          #49
          Lite tips från mig!

          Struktur - Lägg ASP kod i subbar och funktioner för att lättare skilja HTML kod mot ASP. HTML-koden blir otroligt överskådlig och lätt att ändra i efterhand när man inte "grötar" ihop allt med varandra. Exempel:

          [kod]
          <%
          Function getNews()
          &nbsp; ' Hämtar nyheterna.
          End Function

          Sub displayNews()
          &nbsp; ' Visar nyheterna.
          End Sub

          arrNyheter = getNews() ' Hämtar nyheter

          If isArray(arrNyheter) Then
          &nbsp; strHeadTitle = "Dagens nyheter"
          Else
          &nbsp; strHeadTitle = "Inga nyheter idag"
          End If
          %>

          <HTML>
          <HEAD><TITLE><%= strHeadTitle %></TITLE></HEAD>
          <BODY>
          <% Call displayNews() %>
          </BODY>
          </HTML>[/kod]

          Hämta från fält ur databas - Det bör inte göras med SELECT * FROM tabell. Ange istället alla fälten som ska hämtas (även om det är alla!). På så vis kan du lägga till/ta bort fält i databasen enkelt, utan att du behöver ändra om ordningen på hämtningen av recordseten.

          Hämta datan först på sidan - Själv hämtar jag all data innan själva HTML-sidan skrivs ut. På så vis kan jag lägga ett meddelande i <TITLE>-taggen eller var jag vill. Använd ovanstående modell för det (Struktur).

          Använd Getrows - Öppna databaskopplingen snabbt, hämta med .getrows, stäng direkt efter! Sedan använder man Struktur-modellen ovan för att presentera datan.

          ------------------
          "Tål det inte att skämtas om, är det inte värt att ta på allvar."

          [Redigerat av Pace den 21 dec 2001]
          Take your god and shove him

          Comment

          • bulow
            Medlem
            • 2000-05-20
            • 9

            #50
            Skriv klasser och inte bara lösa subbar och funktioner.

            När det gäller request("variabel") så bör man inte använda det. Det kan tydligen ställ till problem IISn.

            Det bästa sättet om man har både GET och POST requests till sidan är följande:

            Dim rm, variabel
            rm = Request.ServerVariables("REQUEST_METHOD")

            If rm = "POST" then
            variabel = request.Form("variabel")
            ElseIf rm = "GET" then
            variabel = Request.QueryString("variabel")
            End if


            Använd alltid samm variabelnamn i ASP koden som i request variablerna.

            Använd inte sessions variabler om du inte absolut måste.

            Använd alltid Option Explicit.

            Använd aldrig "On error resume next" under kodning. Och om du använder det vid skarpkörning, se till att du får ett mail med felmeddelanden eller loggar alla fel som uppstår.

            Stäng databaskopplingar så fort du stoppat in datan i ditt recordset.

            Sätt alla objekt till nothing och stäng alla öppna kopplingar när du är klar med dom.

            Dimma alla variabler.

            Kommentera koden. =)

            //Micke

            Comment

            • Erik Juhlin
              Medlem
              • 2000-05-27
              • 7625

              #51
              Fortsätter på Pace tråd. För att få en ännu bättre struktur, använd Com-objekt!

              ------------------
              /Erik
              www.juhlin.nu /sk8files/ /mp2d/
              /Erik
              "My love for you is like a truck, BERSERKER"
              "Would you like some making f**k, BERSERKER"

              Comment

              • iceM2
                Medlem
                • 2001-03-08
                • 311

                #52
                En guldgruva med en massa tips http://www.asp101.com/tips/index.asp

                ------------------
                "Ni tre går och bildar en kvadrat" (Rolf Zetterlund under ett träningspass)

                Comment

                • KoTTeN
                  Moderator
                  • 2001-09-14
                  • 1540

                  #53
                  just de
                  Att rädda ett liv är att rädda en hel värld!
                  Mvh Ronny "KoTTeN" Andersson

                  Comment

                  • peppar
                    Medlem
                    • 2001-12-22
                    • 822

                    #54
                    Erik Juhlins inlägg om att kolla om en sträng är tom...

                    [citat]Om man vill kolla om en sträng är tom så gör man det lämpligast med If Len(Trim(str & "")) Then.
                    Då funkar det även om strängen är "", Empty eller Null![/citat]

                    Använder samma If sträng, men kollar om ett recordset är tomt, detta fungerar endast om jag använder 'Empty', ej Null, eller 0

                    [kod]If Len(Trim(RecSet("streng" & "")),Empty Then[/kod]

                    ?? Hur kommer det sig? Beror det på serverkomponenter och olikheter, eller?

                    //alltid p*

                    [Redigerat av peppar den 29 dec 2001]
                    -"What if there is no tomorrow? There was´nt one today!"

                    //alltid p*

                    Comment

                    • PatrikB
                      Medlem
                      • 2000-03-31
                      • 2713

                      #55
                      [kod]RecSet("streng" & "")[/kod]

                      bör nog vara:
                      [kod]RecSet("streng") & ""[/kod]

                      du ska ju bygga på en "tom-sträng" på recset posten och inte på recset postens namn

                      cya,
                      PatrikB

                      ------------------
                      -=* IF there is a wrong way to do something, then someone will do it *=-

                      Comment

                      • icaaq
                        Medlem
                        • 2000-10-01
                        • 4910

                        #56
                        Ett litet tips när ni sska bygga upp databasstrukturen, döp tabellerna med ett prefix t_ (t_medlemmar) och fälten med f_ (f_login).

                        På det sättet slipper ni vara rädda för att namnet på fältet är namnskyddat i nån dialekt av SQL.

                        god fortsättning

                        ------------------
                        kolung.....det tål att tänkas på!
                        When I work I have lot's of fun. vi söker folk, www.icaaq.com, twitter

                        mv icaaq

                        Comment

                        • Palleman
                          Medlem
                          • 2000-12-21
                          • 465

                          #57
                          En kul grejj att testa med tanke på tipset om vilka sätt man kan använda för Response.Write.

                          Kör denna kod och kolla hastigheten mellan de olika sätten:

                          [kod]<%

                          dInitTime = Timer

                          '--## Metod 1
                          For n = 1 To 500000
                          %>.<%
                          Next

                          fPeriod = FormatNumber(Timer - dInitTime, 3, True)
                          Response.Write "<br>Metod 1 gav tiden: "& fPeriod &"<br><br>"
                          dInitTime = Timer


                          '--## Metod 2
                          For n = 1 To 500000
                          Response.Write "."
                          Next

                          fPeriod = FormatNumber(Timer - dInitTime, 3, True)
                          Response.Write "<br>Metod 2 gav tiden: "& fPeriod &"<br><br>"
                          dInitTime = Timer


                          '--## Metod 3
                          With Response
                          For n = 1 To 500000
                          .Write "."
                          Next
                          End With

                          fPeriod = FormatNumber(Timer - dInitTime, 3, True)
                          Response.Write "<br>Metod 3 gav tiden: "& fPeriod &"<br><br>"

                          %>[/kod]

                          ------------------
                          //Palle
                          www.palleman.nu

                          [Redigerat av Palleman den 03 jan 2002]
                          Hittade min gamla profil och är nu aktiv med den istället.

                          Comment

                          • M@rtin
                            Medlem
                            • 1999-12-11
                            • 1214

                            #58
                            Det här senaste tycker jag är mycket intressant. Alla jag pratat med och alla böcker jag läst säger att det är bättre att använda response.write än att ha massa %> <% Detta är alltså helt fel?

                            Och att använda with verkar inte vara någon hit. Det kanske går snabbare att skriva koden men sidan blev ju väldigt slö

                            ------------------
                            //M@rtin &#0124;&#0124; Peachy.nu\\

                            ni taLar Bra laTiN
                            I'm drinking the ink from my pen
                            Pusha.se

                            Comment

                            • Pace
                              Medlem
                              • 2001-06-25
                              • 5947

                              #59
                              [citat]Det här senaste tycker jag är mycket intressant. Alla jag pratat med och alla böcker jag läst säger att det är bättre att använda response.write än att ha massa %> <% Detta är alltså helt fel?[/citat]

                              Nej. Om du kör 20 000 stycken content-switchar så är det mycket slöare än 20 000 Response.Write. Testet ovan är knappast någon vanlig metod av hantering av utdata.

                              [citat]Och att använda with verkar inte vara någon hit. Det kanske går snabbare att skriva koden men sidan blev ju väldigt slö[/citat]

                              Jo, with är snabbare eftersom man bara kallar på Response en gång, och därefter enbart metoden Write.



                              ------------------
                              "Tål det inte att skämtas om, är det inte värt att ta på allvar."
                              Take your god and shove him

                              Comment

                              • M@rtin
                                Medlem
                                • 1999-12-11
                                • 1214

                                #60
                                Okej. Det beror alltså på hur mkt man ska skriva ut

                                ------------------
                                //M@rtin &#0124;&#0124; Peachy.nu\\

                                ni taLar Bra laTiN
                                I'm drinking the ink from my pen
                                Pusha.se

                                Comment

                                Working...