c#页面一直在发送旧数据
本文关键字:数据 一直 | 更新日期: 2023-09-27 17:54:18
所以我有一个页面,用户给数据的应用程序发送到数据库。当用户点击下一步时,应用程序会导航到下一页。但是当用户返回并编辑数据时,应用程序仍然将第一次输入的旧数据保存到数据库中。
例如:姓名:Jon Do
用户犯了一个错误,转到上一个页面el
姓名:John Doe
用户单击下一步,数据保存到数据库中。但是除了保存新数据"John Doe"外,它还发送旧数据"Jon Do"。当然,这不应该发生。我不知道为什么会这样。
这是我的c#代码的页面,用户应该给他/她的数据
private void btnNext_Click(object sender, RoutedEventArgs e)
{
if (ckbGegevens.IsChecked == false)
{
try
{
dt.saveData = true;
dt.bedrijfsNaam = txxBvName.Text;
dt.contactPersoon = txxContPersn.Text;
dt.telNummer = Convert.ToInt32(txxTelNr.Text);
dt.eMail = txxEMail.Text;
dt.land = txxLand.Text;
dt.plaats = txxPlaats.Text;
dt.postcode = txxPostCode.Text;
postToJson.post("bvg");
this.NavigationService.Navigate(new Doelen());
}
catch (Exception)
{
MessageBox.Show("Er ontbreken gegevens!'nOf u heeft ongeldige gegevens ingevuld!");
}
}
else
{
try {
dt.bedrijfsNaam = txxBvName.Text;
dt.contactPersoon = txxContPersn.Text;
dt.telNummer = Convert.ToInt32(txxTelNr.Text);
dt.eMail = txxEMail.Text;
dt.land = txxLand.Text;
dt.plaats = txxPlaats.Text;
dt.postcode = txxPostCode.Text;
dt.saveData = false;
MessageBox.Show("Uw gegevens worden niet opgeslagen.'nVink voor optimaal gebruik deze functie aan.");
this.NavigationService.Navigate(new Doelen());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
这是我如何保存它到数据库:
static string bedrijfsNaam = dt.bedrijfsNaam;
static string ContPers = dt.contactPersoon;
static int TelNum = dt.telNummer;
static string email = dt.eMail;
static string Land = dt.land;
static string Plaats = dt.plaats;
static string PostCode = dt.postcode;
static string json;
static string b64encode;
public postToJson(string reqCat)
{
}
public static void post(string reqCat)
{
if (reqCat == "bvg")
{
json = "{'"bedrijfsNaam'":'"" + bedrijfsNaam + "'"," +
"'"ContPers'":'"" + ContPers + "'"," +
"'"TelNum'":'"" + TelNum + "'"," +
"'"email'":'"" + email + "'"," +
"'"Land'":'"" + Land + "'"," +
"'"Plaats'":'"" + Plaats + "'"," +
"'"PostCode'":'"" + PostCode + "'"}";
var b64bytes = System.Text.Encoding.UTF8.GetBytes(json);
b64encode = System.Convert.ToBase64String(b64bytes);
var data = new NameValueCollection();
data["b64string"] = b64encode;
data["filename"] = dt.bedrijfsNaam;
using (WebClient client = new WebClient())
{
var sendB64 = client.UploadValues("http://" + ConfigurationManager.AppSettings["scripturi"].ToString() + "SalesKicker.php", "POST", data);
}
}
}
问题不在PHP脚本中,所以我不必发布该脚本。我知道这一点是因为我打印出了JSON的结果。它总是有第一个输入的数据。谁能告诉我这是怎么回事?
赋值似乎是在静态类的声明中完成的,因此它们只会发生一次,您不知道何时发生。因此,你应该把它们放在一个单独的方法中:
static string bedrijfsNaam = dt.bedrijfsNaam;
static string ContPers = dt.contactPersoon;
static int TelNum = dt.telNummer;
static string email = dt.eMail;
static string Land = dt.land;
static string Plaats = dt.plaats;
static string PostCode = dt.postcode;
然后在post方法中调用那个方法。
。
private static void updateData() {
bedrijfsNaam = dt.bedrijfsNaam;
ContPers = dt.contactPersoon;
TelNum = dt.telNummer;
email = dt.eMail;
Land = dt.land;
Plaats = dt.plaats;
PostCode = dt.postcode;
}