因爲我是ASP .NET的新手我不知道這是正常行爲還是奇怪的事情。我正嘗試將C#WinForms應用程序轉換爲Web應用程序,並且其行爲與我預期的不同。所有的控件都在asp.net中被觸發
在桌面應用程序中,我在用戶按下輸入文本框後獲取數據。數據被加載我可以修改它,然後,當我完成數據更改時,我可以按兩個按鈕中的一個,並將數據保存到數據庫或清除表格。像這樣的東西。
private int idOrder;
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
if(load_data)
{
label1.Text = "some loaded data";
...
else{ MessageBox.Show("Something went wrong. No data loaded");
}
}
protected void Button2_Click(object sender, EventArgs e)
{
//save to database;
}
但是,當我嘗試做在ASP.NET Web窗體一樣,每當我按在文本框控件的所有被解僱輸入(因爲它是行之後寫的源代碼行)刷新頁面時。你能否建議我們應該怎麼做才能複製winforms中的相同行爲,例如:用戶輸入 - 輸入 - 加載數據 - 修改 - 按下按鈕,當我想要的。謝謝。
//我正在尋找視圖狀態的東西嗎?
查看ispostback。另外,請包含不起作用的示例代碼。 – Trey
這是一個關於ASP.Net頁面生命週期的有用的MSDN頁面。 https://msdn.microsoft.com/en-us/library/ms178472.aspx正如@Trey所說,周圍的代碼應該不會在回發時用'if(!Page.isPostBack)'執行'可以幫助,但我不是確定究竟是什麼問題。 – ScoobyDrew18
您不能在ASP.NET中使用MessageBox類。這是Windows窗體特有的。 – mason