2012-07-01 154 views
0

我有這樣的:ASP.NET配置文件

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

爲什麼要用asp classic標記?修正... – walther

+1

嘗試調用'Profile'對象的'save()'方法'Profile.Save()' –

+0

@walther這是輸入'asp' ..時出現的第一個標記..:/ –

回答

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() 
} 
+0

非常感謝。它的工作 – Eriksson

+0

我認爲沒有必要Profile.Save(),因爲當你設置例如Profile.dados_pessoais.nome = nome_Txt.Text,自動保存在數據庫 – Eriksson

+0

@Eriksson的歡呼,它取決於'配置文件'的實施。 –