2011-05-01 79 views
1

我試圖將一個日期控件的值從form1傳遞給form2。ASP:在Web表單之間傳遞值

的形式1.aspx.vb:

Public ReadOnly Property Property1() As Date 
     Get 
      Return StartDate.SelectedDate 
     End Get 
    End Property 

在Form2.aspx:

<%@ PreviousPageType VirtualPath="~/form1.aspx" %> 

在form2.aspx.vb:

Label14.Text = PreviousPage.Property1 

當我運行它,編譯器給我一個錯誤:

"Object reference not set to an instance of an object."

用紅色標記:

Label14.Text = PreviousPage.Property1 

試圖將廣告分配屬性爲一個字符串,它也不能工作。

任何建議???

問候。

回答

0

如果直接訪問Form2.aspx頁面而沒有跨頁面發佈,則PreviousPage屬性爲null。你應該檢索Property1的前值增加這個檢查:

if (PreviousPage != null && PreviousPage.IsCrossPagePostBack) { 
    Label14.Text = PreviousPage.Property1 
} 

使用PreviousPageType VirtualPath =「〜/ form1.aspx」指令是有點危險的時候其他頁面比Form1.aspx做跨頁後到窗體2。 PreviousPage屬性拋出InvalidCastException(它期望Form1頁面,但它會得到其他內容)。

欲瞭解更多信息,請參閱:http://msdn.microsoft.com/en-us/library/ms178139.aspx

0

我認爲Startdate沒有聲明/初始化,你如何設置這個只讀屬性的數據?