Avatar billede Slettet bruger
24. september 2007 - 07:29 Der er 9 kommentarer og
1 løsning

Overføre data én fil til en anden

Jeg har et script lavet i .aspx hvor jeg får nogle data i et tekstfelt, som jeg gerne vil have ført over i et andet textfelt i et .html dokument. Er det muligt og hvis ja - hvordan?

- DATA FRA
.aspx
<asp:TextBox ID="tbFilNavn"
    runat="server"/>&nbsp;
    <input type="button"
    class=inputbutton value="Indsæt"
    onClick="window.opener.location.reload();self.close()">

-TIL
.html
<input name="src" type="text" id="src" value="" onChange="showPreviewImage(this.value);" />
Avatar billede kalp Novice
24. september 2007 - 07:50 #1
dvs. et html dokument på maskinen?
eller et som bliver åbnet fra ASPX siden af?
Avatar billede nielle Nybegynder
24. september 2007 - 08:04 #2
Hvorfor laver du ikke bare aspx-hele vejen?

For at kunne lave det du spørger om skal der ske noget programmering omkring html-filen - der er nemlig ikke noget dynamisk bbygget ind i html som sådan:

1) En af dine aspx-filer kunnegenerere html-filen, eller
2) Muligvis kan du lave noget Server Side Include til at inkludere værdien, eller
3) Du kunne gemme værdien i en cookie på klienten og så bruge javascript til at tage værdien fra denne og indsætte den i html-koden.
Avatar billede Slettet bruger
25. september 2007 - 07:35 #3
Grunden til der ikke er brugt .aspx hele vejen er at det er en del af en færdig wysiwyg editor som er hentet på nettet, derfor vil jeg også vurdere at løsning 2 er dén som er bedst anvendelig. Men jeg har brug for hjælp til at lave dén kode...
Avatar billede nielle Nybegynder
25. september 2007 - 09:47 #4
For det førtse skal din server understøtte server side include (SSI).

For det andet er det ikke helt sikkert at den virker sammen med html filer. Serveren sklal vide at den skal sende filen igennem et ekstra trin for at kunne processere SSI'ren i filen. Normalt gøres dette ved at have en speciel extension - f.eks. htmls - til html-filer med SSI og så fortælle webserveren at den extension svare til filer med SSI inkluderet. Hvis webhotellet understøtter SSI kan de også oplyse hvordan man bruger det.
Avatar billede Slettet bruger
28. september 2007 - 15:47 #5
Kan man hente tekstfeltes værdi (value) i en .inc fil fx?

Har prøvet nogle RET utraditionelle metoder, som dog ikke virkede.

Noget i stil med eksemplet herunder kunne jo tænkes at være måden, men jeg er pt. helt blank

<input name="src" type="text" id="src" value='<!--#include "link.inc"-->' onChange="showPreviewImage(this.value);" /> 

~8-[
Avatar billede nielle Nybegynder
28. september 2007 - 22:47 #6
Med SSI kan man gøre dette. Ikke uden.
Avatar billede Slettet bruger
29. september 2007 - 09:43 #7
Okay - men hvordan vil dét script så se ud?
Avatar billede nielle Nybegynder
29. september 2007 - 10:46 #8
SSI er en teknologi som dækker at man kan lave noget små-dynamik på serveren - det dækker sædvanligvis kun meget små program-stumper som f.eks. en besøgs-counter og den slags ting. Det er ikke velegnet til store programmer.

En include af en fil ser ud sådan som du har vist det.

Hvis dette ikke virker, kan der være forskellige ting som er galt:

1) Din udbyder understøtter ikke SSI - du bliver som sagt nødt til at spørge.
2) Som jeg skrev tidligere kan det sagtens tænkes at SSI ikke fungere sammen med html-filer direkte, men at de skal have en speciel extension - f.eks. htmls - også dette bliver du nødt til at spørge om hos din udbyder.
Avatar billede Slettet bruger
30. september 2007 - 12:42 #9
***update***
Job done!

Jeg brugte funktionen StreamWriter til at oprette en lille .inc fil når jeg lukkede mit site.

void Page_Unload(){
    StreamWriter objWriter = new StreamWriter(Server.MapPath("editor/plugins/advimage/link.inc"), false);
    objWriter.WriteLine("document.MyForm.src.value = ('" + tbFilSti.Text + "');");

Derefter henter jeg oplysningerne ind i min .html fil via javascript som ser således ud:

    <script type="text/javascript">function include(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
        if (js_file) html_doc.removeChild(js);
    var js_file = document.createElement('script');
    js_file.setAttribute('language', 'javascript');
    js_file.setAttribute('type', 'text/javascript');
    js_file.setAttribute('src', script_filename);
    if (html_doc.appendChild(js_file)) return js_file;
    return false;
}
</script>
<script type="text/javascript">include('link.inc')</script>

Jeg er som det sidste bare lige nødt til at vide om mappen som .inc filen ligger i, skal dén have skriverettigheder?

- ellers smid et svar...




    objWriter.Close();
}
Avatar billede nielle Nybegynder
30. september 2007 - 18:58 #10
Den skal have skriverettighedder - men ikke kun det, for det er den specielle bruger som ASP.NET køre med som skal have ret til at skrive. Dette er normalt den anonyme web-bruger - som jeg ikke lige kan huske hvad hedder. Det er dog nemt at tjekke - hvis filen bliver oprettet/opdateret i mappen når scriptet køres så er rettighederne i orden.
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