我有这个:
protected void Page_Load(object sender, EventArgs e)
{
nome_Txt.Text = Profile.dados_pessoais.nome;
}
protected void save_Click(object sender, EventArgs e)
{
Profile.dados_pessoais.nome = nome_Txt.Text;
}
如果Profile.dados_pessoais.nome
为空,nome_txt.Text
也为空。例如,当我将nome_Txt.Text
更改为teste
时,单击按钮nome_Txt.Text
时为空。
我做错了什么?
答案 0 :(得分:1)
Page_Load
事件在按钮点击事件之前运行,因此您始终将文本框指定为空值。
要解决此问题,请不要在回发时填充文本框:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
nome_Txt.Text = Profile.dados_pessoais.nome;
}
}
正如评论中所述,您可能需要在更改后保存配置文件,否则在下次加载页面时不会保存:
protected void save_Click(object sender, EventArgs e)
{
Profile.dados_pessoais.nome = nome_Txt.Text;
Profile.Save()
}