注册 登录
编程论坛 ASP.NET技术论坛

文字档的写入读取问题

lai32290 发布于 2013-03-15 19:58, 668 次点击
最近再写网页遇到的问题,有一个文字框,我要把里面的内容存到一个文字档里
第一次测试时只有写了储存的编码,也成功储存
於是又接着写了读取的编码,也有成功读取
但是储存的功能却失效了,当我把读取编码拿掉以後就又恢复功能
实在不知道问题出在哪里,希望有人可以帮帮我
编码跟网页介面都在下面了
谢谢大家~

只有本站会员才能查看附件,请 登录

程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using namespace MyMasterPage
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string filePath = Server.MapPath("~/content.txt");
            TextReader reader = File.OpenText(filePath);
            TextBoxContent.Text = reader.ReadToEnd();
            reader.Close();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string filePath = Server.MapPath("~/content.txt");
            TextWriter writer = new StreamWriter(filePath);
            writer.Write(TextBoxContent.Text);
            writer.Close();

        }
    }
}
7 回复
#2
awl8052013-03-15 20:47
假设文档里面是content1,打开时文本域是content1,修改后,文本域是content2,点击按钮时,
首先执行客户端的click,产生一个postback事件
然后postback执行了pageload,文本域读取了文档并改写,所以是content1,
接着服务端执行click处理,将文档改写,但是,内容还是content1.

解决方法是将你读取文档的内容放在page_load中
程序代码:

    if(!postBack){

    }

里面
#3
lai322902013-03-15 21:52
回复 2楼 awl805
大大! 你真厉害!
真的把编码放进去就可以用了耶!!
顺便问一下,postBack的功能是什麽?在网路上常看到,一直不知道是什麽用途,又是怎麽运用
#4
awl8052013-03-15 22:13
postBack是每次需要跟后台交互数据都会自动产生的,我个人觉得是服务端控件的方便带来的一个弊端
#5
lai322902013-03-15 22:25
所以 if(!postBack) 等於是说,当後台没有数据在处理的时候才运行那一段编码吗?
#6
awl8052013-03-15 23:10
作为初始化使用,并不是一直执行的,在首次载入的时候执行一次
#7
lai322902013-03-16 06:24
还是没有很了解...什麽情况下才算是首次载入呢?
#8
awl8052013-03-16 16:48
打开页面的时候就是首次载入
1