2017-06-22 11 views
0

TextBoxに情報を入力すると、GridViewにURLパラメータのみが表示されます。結果セットがGridViewに表示されない

たとえば、

FNameTextBox.Text = "Mark" 

結果はちょうどURLがGridView

http://localhost:65319/Example.aspx?FirstName=Mark 

が、結果がないと言うものではありません。

これは私の現在のコードです:

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles SearchButton.Click 
     Dim dt As New DataTable 
     Using con As New OdbcConnection("DRIVER={SQL Server};Server=WJNJPHR8TCX8P\SQLEXPRESS;Database=Fabrics;Integrated Security=True;"), 
     cmd As New OdbcCommand("SELECT * FROM [Client] WHERE [ClientId] = ? OR [FirstName] = ? OR [MiddleName] = ? OR [LastName] = ?", con) 
      con.Open() 

      If IsNumeric(idTextBox.Text) Then 
       cmd.Parameters.Add("@ClientId", OdbcType.Int).Value = Integer.Parse(idTextBox.Text) 
       Response.Redirect("Example.aspx?ClientId=" + idTextBox.Text) 
      Else 
       cmd.Parameters.Add("@ClientId", OdbcType.Int).Value = -1 
      End If 

      cmd.Parameters.Add("@FirstName", OdbcType.NVarChar).Value = FNameTextBox.Text 
      Response.Redirect("Example.aspx?FirstName=" + FNameTextBox.Text) 

      cmd.Parameters.Add("@MiddleName", OdbcType.NVarChar).Value = MNameTextBox.Text 
      Response.Redirect("Example.aspx?MiddleName=" + MNameTextBox.Text) 

      cmd.Parameters.Add("@LastName", OdbcType.NVarChar).Value = LNameTextBox.Text 
      Response.Redirect("Example.aspx?LastName=" + LNameTextBox.Text) 

      dt.Load(cmd.ExecuteReader()) 
     End Using 

     GridView1.DataSourceID = Nothing 
     GridView1.DataSource = dt 
     GridView1.DataBind() 

    End Sub 

質問:

がどのように私はGridViewに設定された検索結果を表示することができますか?

答えて

0

なぜResponse.Redirectを使用しますか?それらのすべてをコメントし、あなたのコードは動作しています。

+1

。 –

+0

構文をResponse.Redirect( "Example.aspx?CLientId =" + idTextBox.Text + "&FirstName =" + FNameTextBox.Text + "&MiddleName =" + MNameTextBox.Text + "&LastName =" + LNameTextBox.Text)に変更します。グリッドビューでまだ​​結果がありません –

+0

なぜ最初にリダイレクトする必要がありますか? – Imad

0

姓、名、姓をクエリ文字列として送信する場合は、最初にすべての値を格納し、別のページにリダイレクトするか、すべてのテキストボックス値を単一クエリ文字列で送信する必要があります。そのため3 `Response.Redirect`文...確か` dt.Load(cmd.ExecuteReader()) `その後、実行されなかったグリッドデータをロードするための

String fname = fNameTextBox.Text 
String mname = mNameTextBox.Text 
String lname = lNameTextBox.Text 

Response.Redirect("Example.aspx?FirstName="+fname+"&MName="+mname+"&LastName=" + lname) 

または

Response.Redirect("Example.aspx?FirstName="+fNameTextBox.text+"&MName="+mNameTextBox.text+"&LastName=" + lNameTextBox.text) 
関連する問題