2014-05-13 43 views
0

我有一個變量沒有被賦予正確的值,即使它是說它是...?變量不會得到價值

Dim mID As Integer = CInt(Request.QueryString("mID")) 

Using DBTable = MaterialStuff.GetMaterialHeader(mID) 

       txtm.Text = CStr(CInt(Request.QueryString("mID"))) 
       txtmName.Text = CStr(DBTable.Rows(0).Item("mName")) 
End Using 

當我一步通過這一點,懸停我的鼠標移到Request.QueryString它表明了正確的價值正在通過但傳遞時我將鼠標懸停我的鼠標MID它是空白,甚至當我添加一個手錶它留空白。此外,當它進入MaterialStuff.GetMaterialHeader使用mID返回正確的價值觀......

我不明白爲什麼它知道值是什麼,但它不會將其分配給mID喜歡我時,我通過它一步想...任何想法?

+0

當你將鼠標懸停'的Request.QueryString( 「MID」)'你看哪個值?你也說'mID'是「空白」,因爲int是一個值類型,它不能是「空白」,但可以是0。 – Magnus

+0

@Magnus當我將鼠標懸停在它上面時,它說'9' – bbesase

回答

0

當您瀏覽代碼時,您正在查看的當前行即將被執行。

所以 - 當你在

Dim mID As Integer = CInt(Request.QueryString("mID")) 

中旬停止並沒有因爲這是該行所做的尚未分配的值。

這聽起來好像是正確分配了mID,因爲如果我理解正確,那麼您的代碼就會繼續成功執行。

嘗試逐步使用DBTable語句和,然後檢查mID - 查看它是否具有您期望的值。

此外,這

txtm.Text = CStr(CInt(Request.QueryString("mID"))) 

是勞累過度 - 這是完全一樣的:

txtm.Text = Request.QueryString("mID") 
+0

不,因爲當光標在'Using'行時,我回去檢查'mID'是什麼值,它只是空白的,但是當它到達另一個函數使用該值返回正確的數據,但它不會將數據分配給數據表,所以當我嘗試訪問它填充文本框時,它只是空和錯誤。 – bbesase

+0

等一下。你在上面說過,mID是9. 9不是「空白」。這是什麼? –

+0

這就是我說的......當我將鼠標懸停在Request.QueryString上時,它說它是'9',但是當我將鼠標懸停在我聲明的mID上時,它是空白的。它看到的值是我想要的「9」,但它從不將它分配給變量 – bbesase