2012-07-10 34 views
0

在頁面上我們提交了按鈕,點擊它後我們得到錯誤,因爲m_strPageDefinition具有空值。以下是它的代碼,以便更深入瞭解。有時只有在生產中,我們得到m_strPageDefinition的價值爲null,這是造成問題的原因。有沒有人知道爲什麼m_strPageDefinition即將到來nullContext.Item的值爲空

+0

你在哪兒設置'Context.Items(「MyXmlString」)'? – Chris 2012-07-10 13:51:38

回答

0

你應該考慮是比較一致的,你是如何處理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不是我編碼的語言,所以格式/結構可能會有點偏離。

+0

您建議的解決方案不會像第一個page_load()那樣工作(並且不會回發)MyHiddenXMLString.Value具有null /空值。 讓我更詳細地闡述這個問題。當用戶在頁面上輸入一些數據並點擊提交按鈕時,隱藏變量的值被採用並被使用。隱藏變量沒有價值時就會出現問題。那麼唯一的問題就是爲什麼隱藏變量沒有價值。發現唯一可能的原因是Context.Items(「MyXmlString」)有時在生產上有些空值。我從來沒有設法重現thie錯誤:) – Yogesh 2012-07-11 10:41:32

0

我認爲這個問題是在這裏:

m_strPageDefinition = MyHiddenXMLString.Value 

更具體地說:MyHiddenXMLString.Value可能是零。

我找不到你聲明MyHiddenXMLString的地方,但是如何使它成爲一個隱藏變量(input type =「hidden」..)在aspx端,並在頁面加載第一次時設置它的值。

然後你知道它的價值將永遠存在並且易於訪問。

hth

+0

MyHiddenXMLString已經是一個隱藏的變量(輸入類型=「隱藏」..)。不知何故,在第一次加載頁面時,值不會保存在其中,可能是因爲Context.Items(「MyXmlString」)具有空值。 – Yogesh 2012-07-11 09:08:33

+0

好吧,想我和你在一起..現在,m_strPageDefinition將是null並且不是「」的唯一方法是如果它從來沒有被設置在第一位(因爲調用.Value在隱藏變量返回字符串) – Johanvw 2012-07-11 14:26:03

+0

因此,如果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