webForumDet fria alternativet

Dynamisla sökvägar

.NETur .NET

5 svar · 282 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Mitt problem denna gången är att via kodvägen kunna hitta rätt sökväg för en encludefil t ex.
Jag håller på med en app som är till för att kunna fixa vissa asp.sidor. Via kod så lägger jag bl a in include-filer, och då gäller det ju att följa mappstrukturen.

T ex om jag har en fil i roten och skall till "_databas" så blir ju includefilen:
<!--#include file="_databas/dataconn.asp"-->
Ligger jag därimot i t ex KullSaker/Admin/EditNyheter då blir ju sökvägen
<!--#include file="../../_databas/dataconn.asp"-->
Att sen göra det med kod, går jag bet på.

Så här försöker jag:

public static string changeWebbNameToDot(string webbplats) 
        {
            string nyWebbplats ="";
            string ny="";

            webbplats=webbplats.Replace("\\","/") + "/";
            webbplats=webbplats.Replace("_","");

            Regex rr = new Regex("[/]"); 
            MatchCollection st = rr.Matches(webbplats, 0); 
            int num = st.Count; 
            if(st.Count>0) //Found *'s 
            { 
                if(num>1)
                {
                   ny="../";
                }
                else
                {
                    ny="";
                }
            } 
            nyWebbplats = ny +"_DataBas"; 
            return nyWebbplats;
        }

Som jag har kommit här, så är det ju bara en "nivå" som jag klarar. Visst skulle man kunna göra en massa if-satser eller case, men jag undrar om det inte går att göra det smidigare??? :q

Medlem sedan feb. 200435 inlägg
#2

Använd Request.ApplicationPath

Medlem sedan mars 20011 880 inlägg
#3

Nix, så enkelt är det inte.
Jag bygger ett verktyg i C#, där jag bl a behandlar ASP-sidor.
Jag klistrar bl a in includefiler och måste då ha en korrekt sökväg, dock inte hårdkodad utan virituell (../../databas.mdb)[slarvigt skrivet, men bara för att ni skall få en uppfatning om vad jag försöker med.]

Medlem sedan juni 20019 024 inlägg
#4

Server.MapPath(sökväg) klarar virituella sökvägar.

Medlem sedan apr. 20012 266 inlägg
#5

Som jag förstod det bygger saw ett program i C#, därav ligger tråden i .NET? Därmed är inte Request samt Server tillgängliga eftersom dessa, vad jag förståt, endast är åtkomliga från en webbapplikation.

Medlem sedan mars 20011 880 inlägg
#6

Det är korrekt renholm, jag bygger ett verktyg för att bearbeta ASP-filer, och detta som jag frågar om är för att få fram den "virtuella" sökvägen istället för att hårdkoda.

Tänk dig så här, var än i min mappning jag står, så skall jag nå den mapp som innehåller min connections-fil. Denna mapp heter "_DataBas".
Varför skall jag gämföra, när allt jag behöver veta är hur många slach(/) det finns..
Det innebär ju:
Om jag är i roten, så skall ju resultatet se ut så här

"_DataBas"
Om vi tänker oss att jag har ett forum, och står där, så skall ju resultatet se ut så här:
"../_DataBas"
Om vi tänker oss att det ligger t ex en adminmapp i forumet, så skall ju resultatet se ut så här:
"../../_DataBas"

Den sträng som jag matar in är namnet på webbplatsen(vad jag kallar för rotmapp t ex HTML_TEST)

Via en treeview så får jag fram mappstrukturen och en listview lista alla filerna i den aktuella mappen.

Visar då treeview:n att jag står i roten, och klickar på en fil i listview:n, då vill jag ha resultatet ifrån classen till: "_DataBas".

Har jag via treeview:n klickat mig fram till HTML_TEST/Forum då vill jag ha resultatet ifrån classen till: "../_DataBas".

130 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
126 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)