将文本框文本保存到XML文件中
我有一个带有1个按钮和4个文本框的ASP.NET WebForm。
每次加载页面时,都会执行以下代码从XML文件读取数据并显示在文本框中:
private void PutWhatWasBefore() { var xml = XDocument.Load(@"C:\Settings.xml"); From_display.Text = xml.Element("Settings").Element("Remember").Attribute("fromdisplay").Value.ToString(); From_Smtp.Text = xml.Element("Settings").Element("Remember").Attribute("fromsmtp").Value.ToString(); subject.Text = xml.Element("Settings").Element("Remember").Attribute("subject").Value.ToString(); }
此代码运行良好,它将所有内容放在文本框中。 但是,这是一个很大但是,当我单击按钮时,以下代码写入XML文件不起作用:
string tem = Template1.Text; string from = From_Smtp.Text; string dis = From_display.Text; string sub = subject.Text; var x = new XDocument( new XElement("Settings", new XElement("Remember", new XAttribute("fromsmtp", from), new XAttribute("subject", sub), new XAttribute("fromdisplay", dis), new XAttribute("template", tem) ) ) ); x.Save(@"C:\Settings.xml");
无论我如何更改文本框中的数据,每次单击按钮时,数据都会恢复为之前的状态。
我正在考虑它的post,这就是为什么会发生这种情况,但即使我用OnClientClick = return false;
禁用postOnClientClick = return false;
它仍然无法正常工作。
有任何想法吗?
编辑(12:06):
我不认为我已经说过问题出在哪里,我想更多地说明问题。
单击该按钮时,首先执行以下function:
private void SaveNames() { try { string tem = Template1.Text; string from = From_Smtp.Text; string dis = From_display.Text; string sub = subject.Text; var x = new XDocument( new XElement("Settings", new XElement("Remember", new XAttribute("fromsmtp", "He2"), new XAttribute("subject", sub), new XAttribute("fromdisplay", dis), new XAttribute("template", tem) ) ) ); x.Save(@"C:\Program Files (x86)\ActivePath\MailSenderWeb\Settings.xml"); } catch (Exception ex) { AnswerAndError.Text = ex.Message; } }
这是不起作用的function。 它只是不将新数据保存到XML文件中。
这应该可以解决您的问题:
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { PutWhatWasBefore(); } }
这将确保代码仅在最初访问页面时运行。
- 在C#中使用SSH.NET SFTP下载目录
- 如何使用mono解决OSX上的SecureChannelFailure问题
- 在httpwebrequest中创建TCP连接的方式和位置,以及它与servicepoint的关系如何?
- C# – Parallel.Invoke和Parallel.ForEach本质上是一回事吗?
- 如何在不设置定时器等的情况下在Windows窗体应用程序中构建启动画面?
- 从自定义属性装饰属性获取价值?
- 在DataGridViewComboBoxColumn SelectedIndexChanged期间触发的事件
- C#根据另一个List(不同类)的值序列对List进行排序
- 系统区域设置/文化设置在哪里.Net