iT邦幫忙

0

ASP.NET在更新資料庫時抓不到Textbox的值

  • 分享至 

  • xImage

我最近在做ASP.NET Webform網頁,做Update資料表時不知道為甚麼抓不到Textbox的值,我的程式用C#寫的如下:

using (SqlConnection conn = new SqlConnection(strCon))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("Update [beautyData] set facebook=@facebook Where id=1", conn))
{
cmd.Parameters.AddWithValue("@facebook", tbFacebook.Text);
cmd.ExecuteNonQuery();
}
}

我有發現是抓不到tbFacebook.Text的問題,因為我即使不要用參數化查詢,SqlCommand裡面寫"Update [beautyData] set facebook='"+tbFacebook.Text+"' Where id=1"也一樣無法更新資料庫,請問到底是為什麼會這樣呢?有誰可以告訴我?謝謝

補充:
我現在發現問題了,我是因為在Page_Load有讀取資料庫資料,tbFacebook.Text在Page_Load中就已經設定為資料庫的資料了,Page_Load事件又會發生在Button_Click之前,這樣我Button_Click之後永遠無法更新資料,我要怎樣做比較好呢?謝謝

hnl1201 iT邦新手 5 級 ‧ 2022-07-26 08:31:50 檢舉
你的問題應該是TextBox.text的時候還是存取到舊的參數
試試看Request.QueryString
檢查Textbox的id是"tbFacebook"嗎
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
kw6732
iT邦研究生 4 級 ‧ 2022-08-10 14:43:54

通常這問題有幾個面向:

  1. 沒有加上 runat="server" />
  2. 沒有放置在 <form id="aspform" runat="server"> 內的表層。
  3. 放置於其他物件 如: GridView內。

以上三種是個人寫Code最常發生抓不到 System.Web.UI.WebControls物件的原因。

我要發表回答

立即登入回答