gpt4 book ai didi

c# - 将文本框文本保存到 XML 文件中

转载 作者:行者123 更新时间:2023-11-30 17:47:01 25 4
gpt4 key购买 nike

我有一个带有 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");

无论我如何更改文本框中的数据,每次单击按钮时数据都会恢复到之前的状态。

我当时认为它是一个回发,这就是为什么会发生这种情况,但即使我使用 OnClientClick = return false; 禁用回发,它仍然不起作用。

有什么想法吗?

编辑(12:06):

我想我还没有说出问题出在哪里,我想更切中要害。

当我点击按钮时,首先执行以下功能:

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;
}
}

那是不起作用的功能。它只是不将新数据保存到 XML 文件中。

最佳答案

这应该可以解决您的问题:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PutWhatWasBefore();
}
}

这将确保代码仅在页面最初被访问时运行。

关于c# - 将文本框文本保存到 XML 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com