Я понятия не имею, почему вы получите нулевую ссылку в этом коде, без моего знания VB, но я попытаюсь внести небольшую модификацию, которую вы могли бы попробовать.
Я знаю, что FindControl возвращает тип Control .. может быть, вы можете подождать, чтобы поместить его в определенный тип.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If PreviousPage IsNot Nothing Then
Dim txtBoxSrc As New Control
txtBoxSrc = PreviousPage.FindControl("searchbox")
If txtBoxSrc IsNot Nothing Then
MsgBox((CType(txtBoxSrc, TextBox)).Text)
End If
End If
End Sub
<div class="gsSearch">
<asp:TextBox ID="searchbox" runat="server"></asp:TextBox>
<asp:Button ID="searchbutton" runat="server" Text="search"
UseSubmitBehavior="true" PostBackUrl="~/search.aspx" />
</div>