在頁面上我們提交了按鈕,點擊它後我們得到錯誤,因爲m_strPageDefinition具有空值。以下是它的代碼,以便更深入瞭解。有時只有在生產中,我們得到m_strPageDefinition
的價值爲null
,這是造成問題的原因。有沒有人知道爲什麼m_strPageDefinition
即將到來null
。Context.Item的值爲空
回答
你應該考慮是比較一致的,你是如何處理m_strPageDefinition。你爲什麼要訪問是一個私有變量,而不是總是使用Property setter?例如
Private m_strPageDefinition As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If (Not Context.Items("MyXmlString") = Nothing) And (Not Context.Items("mFormID") = Nothing) Then
MyXMLString = Context.Items("MyXmlString")
MyHiddenXMLString.Value = MyXMLString
Else
MyXMLString = MyHiddenXMLString.Value
End If
Else
MyXMLString = MyHiddenXMLString.Value
End If
End Sub
Private Property MyXMLString()
Get
Return m_strPageDefinition
End Get
Set(ByVal value)
m_strPageDefinition = value
End Set
End Property
我相信你的問題來自於我在Not IsPostBack語句中包含的缺失「Else」。原諒我VB.NET不是我編碼的語言,所以格式/結構可能會有點偏離。
您建議的解決方案不會像第一個page_load()那樣工作(並且不會回發)MyHiddenXMLString.Value具有null /空值。 讓我更詳細地闡述這個問題。當用戶在頁面上輸入一些數據並點擊提交按鈕時,隱藏變量的值被採用並被使用。隱藏變量沒有價值時就會出現問題。那麼唯一的問題就是爲什麼隱藏變量沒有價值。發現唯一可能的原因是Context.Items(「MyXmlString」)有時在生產上有些空值。我從來沒有設法重現thie錯誤:) – Yogesh 2012-07-11 10:41:32
我認爲這個問題是在這裏:
m_strPageDefinition = MyHiddenXMLString.Value
更具體地說:MyHiddenXMLString.Value
可能是零。
我找不到你聲明MyHiddenXMLString的地方,但是如何使它成爲一個隱藏變量(input type =「hidden」..)在aspx端,並在頁面加載第一次時設置它的值。
然後你知道它的價值將永遠存在並且易於訪問。
hth
MyHiddenXMLString已經是一個隱藏的變量(輸入類型=「隱藏」..)。不知何故,在第一次加載頁面時,值不會保存在其中,可能是因爲Context.Items(「MyXmlString」)具有空值。 – Yogesh 2012-07-11 09:08:33
好吧,想我和你在一起..現在,m_strPageDefinition將是null並且不是「」的唯一方法是如果它從來沒有被設置在第一位(因爲調用.Value在隱藏變量返回字符串) – Johanvw 2012-07-11 14:26:03
因此,如果m_strPageDefinition爲null(而不是「」),則表示: 如果我們正在查看Page_Load的Else內的代碼: m_strPageDefinition = MyHiddenXMLString.Value。 然後,m_strPageDefinition必須至少爲「」,除非我們試圖在Page_Load在回發中啓動之前檢索m_strPageDefinition。 頁面代碼中是否有其他位置,我們試圖檢索m_strPageDefinition或MyXMLString? – Johanvw 2012-07-11 14:47:53
- 1. 空值不爲空值
- 2. javascript值爲空
- 3. django.db.utils.IntegrityError:在列空值 - 但值不爲空
- 4. 如何檢查Context.Item是否uCommerce項目或Sitecore項目
- 5. 默認爲空值不爲空
- 6. return SQL中的空值不爲空
- 7. Python Pandas插值爲空值
- 8. 值爲空或默認值
- 9. RadComboBox選定的值爲空
- 10. 獲取爲.val()的空值
- 11. DropDownListFor的值不能爲空
- 12. preparedStatement.getBigDecimal其中的值爲空
- 13. 發佈後的值爲空
- 14. Matchers.any()爲Mockito中的空值
- 15. 值不可爲空的System.DateTime
- 16. 表達式的空值爲
- 17. 值不能爲空
- 18. Orbeon - 空值爲0
- 19. JSTL arraylist。值爲空
- 20. DropDownList值不爲空
- 21. 值不能爲空
- 22. 空值爲零mysql
- 23. HtmlAgilityPack NextSibling.InnerText值爲空
- 24. 如果值爲空
- 25. 設置爲空值
- 26. cast空值爲ValueType
- 27. CKEditor jQuery值爲空
- 28. 參數值爲空
- 29. 值始終爲空
- 30. NSUserDefaults.standardUserDefaults()。stringForKey(「useremail」)返回值爲空的值
你在哪兒設置'Context.Items(「MyXmlString」)'? – Chris 2012-07-10 13:51:38