2010-07-12 6 views
1

J'ai mon code pour poster un tableau javascript forme:fichier d'action de formulaire ASP (FileSystemObject)

<form id="my_form" action="file:///C:/Users/John/Desktop/jquery/savetext.aspx" method="post" onsubmit="return prepare()"> 
<input type="text" id="file_name" name="file_name" rows="1" cols="20" /> 
<input type="hidden" name="seatsArray" /> 
<input type="submit" value="Save" /> 
</form> 

<script type="text/javascript"> 
function prepare(); 
{ 
document.getElementById('seatsArray').value = seatsArray.join(); 
return true; 
} 
</script> 

Quelqu'un peut-il me aider avec le fichier d'action savetext.aspx que j'ai besoin, comme mon la connaissance d'ASP.NET est minime (je suis habitué à PHP, mais celui-ci doit être ASP.NET).

Je suppose que je peux avoir une fissure à obtenir quelque part près de:

<%@ Page Language="C#" %> 
<script runat="server"> 
using System; 
using System.IO; 

class Test 
{ 
public static void Main() 
{ 
    string path = "file:///C:/Users/John/Desktop/jquery/txtfiles/" + request.form("file_name"); 
    if (!File.Exists(path)) 
    { 
     using (StreamWriter sw = File.CreateText(path)) 
     { 
      sw.WriteLine(request.form("seatsArray")); 
      sw.WriteLine(""); 
     } 
    } 

    using (StreamReader sr = File.OpenText(path)) 
    { 
     string s = ""; 
     while ((s = sr.ReadLine()) != null) 
     { 
      Console.WriteLine(s); 
     } 
    } 
} 
} 
</script> 

Suis-je sur la bonne voie?

Merci beaucoup!

+0

donc , vous voulez que quelqu'un fasse votre travail pour vous? Vous devrez demander plus gentiment. BTW, .asp n'est pas ASP.NET. –

+0

J'ai juste besoin d'un peu de code pour terminer cette foutue chose. Sinon, je devrai passer des semaines à apprendre comment le faire à l'avance. Oh, je n'avais pas réalisé qu'il y avait une différence. C'est ASP.NET, je dois être spécifique. – IceDragon

+0

Je ne veux pas être impoli, mais pourquoi auriez-vous besoin de faire quelque chose dans une langue que vous ne maîtrisez pas sans apprendre la langue? –

Répondre

1

Je pense que vous devriez simplement utiliser le formulaire comme prévu, et il suffit d'ajouter les données de tableau à un élément caché ..

<form id="my_form" action="http://my_site/savetext.aspx" method="post" onsubmit="return prepare()"> 
    <input type="text" id="file_name" name="file_name" rows="1" cols="20" /> 
    <input type="hidden" name="seatsArray" /> 
    <input type="submit" value="Save" /> 
</form> 

<script type="text/javascript"> 
function prepare(); 
{ 
    document.getElementById('seatsArray').value = seatsArray.join(); 
    return true; 
} 
</script> 

et sur l'utilisation côté serveur request.form("file_name") et request.form("seatsArray")

+0

Cela semble beaucoup plus raisonnable, merci. Je vais mettre à jour ma question initiale. Le fichier d'action que j'ai fait est probablement au mauvais endroit? Pouvez-vous me dire ce qui doit changer? Merci – IceDragon

+0

@IceDragon, essayez d'utiliser un chemin sans 'file: ///' au début .. Juste un chemin local normal avec barre oblique inversée au lieu de barre oblique 'string chemin =" C: \ Users \ John \ Desktop \ jquery \ txtfiles \ "+ request.form (" file_name ");' Dites-nous si vous obtenez une erreur, et vérifiez aussi si la variable path est remplie comme vous le voulez .. –

+0

@IceDragon, oh et je pense que je C# vous devez utiliser 'Request.Form [" file_name "]'. parenthèses '[]' pas parenthèses '()' .. –

0

vous devez utiliser la classe Stream. C'est un code court pour écrire/créer des fichiers texte dans ASP.NET en utilisant VB.NET.

Dim strStreamW As Stream 
    Dim strStreamWriter As StreamWriter 
    Try 
     Dim ds As New DataSet 
     Dim FilePath As String = "C:\nombreArchivo.txt" 

     'Open the file, if not exists create it 
     strStreamW = File.OpenWrite(FilePath) 
     strStreamWriter = New StreamWriter(strStreamW, _ 
        System.Text.Encoding.UTF8) 

    'Using a conection with the db 
    ds = Negocios.TraerDatosArchivo() 

    Dim dr As DataRow 
    Dim Nombre as String = "" 
    Dim Apellido as String = "" 
    Dim Email as String = "" 

    For Each dr In ds.Tables(0).Rows 
    'Get the recordset 
     Nombre = CStr(dr("Nombre")) 
     Apellido = CStr(dr("Apellido")) 
     Email = CStr(dr("Email")) 

     'Write the line in the file or "stream" 
     strStreamWriter.WriteLine(Nombre & " " & Apellido & " - " & Email) 

    Next 
    strStreamWriter.Close() 

    Catch ex As Exception 

     strStreamWriter.Close() 

     MsgBox(ex.Message) 

    End Try 
+0

Je comprends cela, mais ma question portait sur la façon dont je pourrais nommer le fichier txt en fonction de ce que l'utilisateur a soumis dans la boîte nom_fichier et comment écrire dans le déposer le contenu du tableau. Merci – IceDragon

Questions connexes