Look below for the revised code. As I said in your example you have a simple search page that in order to show the DataGrid you would want to make sure that you have a search criteria. But on the first load you will want to check for IsPostBack = True because if you first load this page, then Request.Form("find_item") will be nothing and will still cause problems if you leave your code as it is.
But when they click the Button, it will cause IsPostBack = True and will allow you to tell that they should have put something in the form. You check for the Find_Item and then bind it to the datagrid, otherwise you do not.
sub Page_Load(sender as Object, e as EventArgs)
If IsPostBack = True Then
Dim Find_Item as String
If Not Request.Form("Find_Item") Is Nothing Then
Find_Item = Request.Form("Find_Item").ToString()
'Create a connection string
Dim connString as String
connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & _
'Open a connection
Dim objConnection as OleDbConnection
objConnection = New OleDbConnection(connString)
'Specify the SQL string
Dim strSQL as String = "SELECT * FROM Profiles WHERE First_Name = '" & Find_Item & "' "
'Create a command object
Dim objCommand as OleDbCommand
objCommand = New OleDbCommand(strSQL, objConnection)
'Get a datareader
Dim objDataReader as OleDbDataReader
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
dgResults.DataSource = objDataReader
' End If Request.Form("Find_Item") ...
' End If IsPostBack = True
<asp:TextBox id="Find_Item" runat="server"></asp:TextBox>
<asp:Button id="Button1" onclick="Request_Page" runat="server" Text="Search"></asp:Button>