我的网站上的文本框出现了一个奇怪的问题。
目前,我正在制作一个页面,允许客户更新其凭据。 所以我有一个页面显示文本框中的信息(从Page_Load中的DB中获取)
if (!Page.IsPostBack)
{
//Ingelogd
kService = new KlantService();
ingelogdeKlant = kService.GetAllByUsername(inlogsessie.GetUsername());
//Gegevens tonen
begroeting.InnerText = "Welkom " + ingelogdeKlant.voornaam + " " + ingelogdeKlant.achternaam;
txtVoornaam.Text = ingelogdeKlant.voornaam;
txtAchternaam.Text = ingelogdeKlant.achternaam;
txtStraat.Text = ingelogdeKlant.straat;
txtNummer.Text = Convert.ToString(ingelogdeKlant.nummer);
txtPostcode.Text = ingelogdeKlant.postcode;
txtStad.Text = ingelogdeKlant.stad;
}
这是我用来从文本框中获取文本并将它们发送到我的数据库的代码(Trigger =按钮点击)
ingelogdeKlant.voornaam = txtVoornaam.Text;
ingelogdeKlant.achternaam = txtAchternaam.Text;
ingelogdeKlant.straat = txtStraat.Text;
ingelogdeKlant.nummer = Convert.ToInt16(txtNummer.Text);
ingelogdeKlant.postcode = txtPostcode.Text;
ingelogdeKlant.stad = txtStad.Text;
kService = new KlantService();
kService.UpdateKlant(ingelogdeKlant)
尝试过的解决方案#1: 删除IsPostBack检查 结果:txtSomething.text返回原始值(不是已编辑的值)
尝试过的解决方案#2: 添加IsPostBack检查 结果:txtSomething.text返回nullpointer
我不知道问题是什么,所以任何帮助都会受到赞赏。
答案 0 :(得分:2)
移动以下
//Ingelogd
kService = new KlantService();
ingelogdeKlant = kService.GetAllByUsername(inlogsessie.GetUsername());
if (!Page.IsPostBack)
您的ingelogdeKlant
仅在第一个Page_Load
上实例化,而不是在后续回发中实例化。
每次发出请求(PostBack或不发布)时,都会实例化您的Page类,每次需要时都需要初始化任何成员;它们不会持久存在,因为Page对象不会持久存在。