[英]How pass a values from a web form to another in ASP.NET?
我試圖將字符串數據從一個 Web 表單發送到另一個,但是它拋出 System.NullReferenceException 錯誤。 我在 Postgress 文檔中讀到這個錯誤意味着沒有數據可以使用。 這是第一種形式的代碼:
protected void Button2_Click(object sender, EventArgs e)
{
editar ed = new editar(tname.Text.ToString());
//ed.putId(tname.Text.ToString());
String url = "editar.aspx";
Response.Redirect(url);
}
創建第二種形式的對象是我發現的發送數據的方式之一,但它不斷拋出錯誤。 在第二種形式中,您應該收到它。
public editar(string name)
{
this.tname.Text = name;
}
其基本思想是在第二種形式中接收字符串,將其放入文本框中,然后通過按鈕更新數據庫的信息。
protected void Button2_Click(object sender, EventArgs e)
{
upt = new NpgsqlCommand("update usuario set cedula = '" + tcedula.Text.ToString() + "' where nombre = '" + tname.Text.ToString() + "'", conn);
upt.ExecuteNonQuery();
}
我已經嘗試過 POST 和 Session 方法,這兩種方法的問題是,盡管每次重新加載頁面時數據都正確到達,但每次重新加載數據時都會發生這種情況,因此每次單擊按鈕時都會發生這種情況,因此需要更新信息的 SQL 語句為空,即執行它,但不更新數據庫。 我使用 Visual Studio 2019、ASP.NET 和 Postgres。
這里有兩件事需要理解:
因此,如果您有一個值要在 HTTP 請求中使用,就像在這種情況下,當您有兩種不同的表單時,您必須將它放在某個地方,以便在處理稍后的 http 請求時可用。 您可以通過多種方式做到這一點:會話、GET (url) 或 POST 參數,或者在第一個請求期間保存到數據庫並在第二個請求中接收。
在這種情況下,會話值似乎最合適,但如果不了解更多您在做什么,就很難確定。
看在上帝的份上,修復那個明顯的 SQL 注入問題。 您不應該在不知道這一點的情況下為 Web 編寫數據庫代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.