2010-06-03 65 views
2

我有一個網頁,其中包含多個面板(用於顯示和隱藏各種文本框)和一個特定的面板包含用於編輯記錄的文本框。但是,當我試圖更新表時,txtVendorName.Text.Trim()爲空。從asp.net中的texbox獲取價值

  SqlConnection con = new SqlConnection(strConn); 
     string sqlUpdateVendor = "usp_Vendor_Update"; 
     SqlCommand cmdUpdateVendor = new SqlCommand(sqlUpdateVendor, con); 

     cmdUpdateVendor.CommandType = CommandType.StoredProcedure; 

     cmdUpdateVendor.Parameters.Add(new SqlParameter("@RecID", SqlDbType.VarChar, 50)); 
     cmdUpdateVendor.Parameters["@RecID"].Value = Request.QueryString["Rec_ID"]; 

     cmdUpdateVendor.Parameters.Add(new SqlParameter("@empid", SqlDbType.VarChar, 11)); 
     cmdUpdateVendor.Parameters["@empid"].Value = txtEmpIDNumber.Text.Trim(); 

     cmdUpdateVendor.Parameters.Add(new SqlParameter("@VendorName", SqlDbType.VarChar, 100)); 
     cmdUpdateVendor.Parameters["@VendorName"].Value = txtVendorName.Text.Trim(); 

代碼不會拋出任何錯誤。

任何想法爲什麼文本框不包含值?

好的,將提交按鈕的PostBackURL屬性設置爲PageABC.aspx可以解決該問題。任何人都知道如何以及爲什麼postbackurl屬性可以解決這樣的問題?

+0

完全無關的Db的東西。添加一個按鈕並嘗試提取Vendorname w/o Trim()。使用調試器。如果問題仍然存在,請發佈有關txtVendor的ASPX代碼。 – 2010-06-03 19:18:57

+0

我做了一個按鈕單擊事件字符串sVendorName = txtVendorName.Text; 那個也是空的 – user279521 2010-06-03 19:35:10

回答

0

好的,將提交按鈕的PostBackURL屬性設置爲PageABC.aspx可以解決該問題。任何人都知道如何以及爲什麼postbackurl屬性可以解決這樣的問題?

+0

感謝您提供答案。 – Frank 2010-06-10 01:42:39

+0

我一直試圖解決這個過去的日子。謝謝 – DotNetRookie 2010-10-10 00:16:18

0

嘗試使用調試器逐句通過此代碼。看看是否有拼寫錯誤。

0

確保你不設置txtVendorName.Text在你的負載或在PreRender事件空白,不檢查的IsPostBack

0

當這段代碼被稱爲?在按鈕上的事件?

重要的是要記住ASP.NET頁面的生命週期。

http://msdn.microsoft.com/en-us/library/ms178472.aspx

http://www.15seconds.com/Issue/020102.htm

如果您在按鈕事件調用它,你可能會被它的週期較早的地方設置爲空白。如果您在page_load中執行此操作,請使用if(!Page.IsPostBack){}將其設置爲空白,這樣只會在第一次加載頁面時將其刪除,並且在您想要使用它之前不會在按鈕事件!

+0

如果(!Page.IsPostBack)試過,並且不起作用; – user279521 2010-06-04 11:08:53

+0

雖然有些奇怪的事情正在發生。當我創建一個代碼塊(!Page.IsPOstBack)並在該代碼塊中放置一個斷點時,然後構建項目並運行它,當我點擊F5時觸發斷點。 – user279521 2010-06-04 11:20:55

0

你是否動態創建你的文本框?如果是這樣,請確保你在init中這樣做,頁面生命週期有點挑剔,如果你在init之後創建它們(這是控件註冊的時候),可能會導致你的文本框出現問題。

+0

nope,這裏沒有動態文本框; – user279521 2010-06-04 11:12:14

0

點擊提交按鈕時,它指向頁面加載事件,然後指向button_click屬性。

因此,如果您在頁面加載..defi上卸載任何文本框值。它導航null值。