protected void numberOfGuests() { try { // Create an instance of StreamReader to read from a file. // The using statement also closes the StreamReader. //StreamReader sr = new StreamReader("C:\\Inetpub\\wwwroot\\New\\NumberOfGuests.txt")
string path=@"C:\\Inetpub\\wwwroot\\New\\NumberOfGuests.txt"; StreamReader sr = new StreamReader((System.IO.Stream)File.OpenRead(path));
TextBox1.Text = "0"; string line = sr.ToString(); // Read and display lines from the file until the end of // the file is reached. Console.Out.WriteLine("*************************************************"); Console.Out.WriteLine("line er "+line); int antal=Convert.ToInt16(line.ToString()); Console.Out.WriteLine("antaler "+antal); antal=antal+1; string opdateretAntal=antal.ToString(); Console.Out.WriteLine("opdateret antal er "+opdateretAntal); //her skal der vises talet i boxen på siden TextBox1.Text.Replace(line, opdateretAntal); Console.Out.WriteLine("tekstbox er: "); sr.Close(); //OpenWrite FileStream sw = File.OpenWrite(@"NumberOfGuests.txt");
Byte[] info = new UTF8Encoding(true).GetBytes(opdateretAntal);
sw.Write(info, 0, info.Length); sw.Close();
} catch (Exception e) { Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); }
}
Jeg prøvee, at finde det outputvindue, hvor er skrives med Console.out.Write(), men dette kunne jeg heller ikke finde. Hvis jeg fandt det, kunne jeg sikkert selv debugge mg frem tl løsningen.
Så hvordan finder jeg det vindue, og virker min metode til at læse filen?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Hvis du skal skrive noget ud på din web-side kan du som Arne skriver benytte Response.Write(...), men den kan ikke rigtig anbefales da den er medtaget for bagud-kompetabilitet, og smider output ud før alt andet (det kommer endda ud før HTML tagget). Det rigtigste ville være hvis du havde en tekstboks eller en label som du så skrev meddelelser til brugeren i.
Men meddelserne er ikke til brugeren. Meddelelserne er til uvikleren, så han kan se, hvad der sker ved kørsel af programet, og så man kan se indholdet af variabler f.eks.. Det eneste sted, jeg skal bruge det, er i Visual Studio's outputvindue ved kørsel. Den aktuelle kommando er den samme, som hvis man laver en consoleapplication, og man skal skrive noget ud til skærmen. Men jeg prøver lige med Console.WriteLine ...
Du skal være opmærksom at, at hvis du bruger Trace istedet. Så har du mulighed for at aflæse dine "debug-beskeder" også på en kørende applikation - også selvom den er distribueret som release. Det kan give lidt bedre muligheder for fejlfinding senere.
ja, men min kode fungerer dog ikke helt. Når jeg lægger 1 til 0 i Textboxen, så opateres filen (@"C:\\Inetpub\\wwwroot\\New\\NumberOfGuests.txt") ikke. Desuen vil jeg jo også gerne have opdateret counteren på siden - dette kan vel gøres ved at kalde Page_Load igen. Hvordan gør man disse 2 ting?
Label l = new Label(); TextBox tb = new TextBox(); int numberOfLines = 0;
// Put user code to initialize the page here StreamReader sr = new StreamReader(@"C:\TestFiles\testxml.xml"); while(sr.Peek() != -1) { // hvad du nu vil gøre ved linien numberOfLines++; l.Text+=sr.ReadLine() + "<br>"; }
Okay - Request.RawUrl vidste jeg nu godt. Den havde jeg prøvet me i eksemplet her. Grunden til at det ikke fungerede må være, at noget af det andet kode ikke var lavet ordentligt...
Er det fordi du gerne vil have at tekstboksen på siden (altså i internet explorer eller hvad du nu bruger) skal opdatere hver gang der er læst en linie ?
Næ næ, textboxen er en counter, som viser antal besøgende på siden.
Synes godt om
Ny brugerNybegynder
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.