0

マスター ページの検索で、別のページの GridView に結果が返されるようにすることを検討しています。これには検索ボタンもあります。これを行う方法についての指針に感謝します....検索ページの.csファイルから。以下は検索ページのコードで、.cs ページ、検索ページ ボタンのコード、およびマスター ページの検索ボタンのコードです。

検索ページの .cs ファイルから:

if (IsPostBack)
{
    OdbcConnection MyConnection = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=petsdat; UID=root; PASSWORD=; OPTION=3");
    MyConnection.Open();

    OdbcCommand MyCommand = MyConnection.CreateCommand();
    MyCommand.CommandText = "SELECT * FROM pets WHERE species like '%" + txtSearch.Text + "%'";

    OdbcDataReader MyDataReader = MyCommand.ExecuteReader();

    grdSearch.DataSource = MyDataReader;

    grdSearch.DataBind();

    MyConnection.Close();
}

検索ページから:

<form id="form2" >
    <div>
        <h1>Search for Pets</h1>
        <hr />
        <asp:Label runat="server" ID="lblSearch" Text="Search"></asp:Label>
        <asp:TextBox runat="server" ID="txtSearch"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtSearch" ErrorMessage="Try Again"></asp:RequiredFieldValidator>

        <asp:Button runat="server" ID="btnSubmit" PostBackUrl="~/Search.aspx" Text="Submit" />
        <br />
          <br />
           <br />
        <asp:GridView runat="server" ID="grdSearch" BorderColor="#CC6600" 
            BorderStyle="Solid" BorderWidth="1px" Font-Names="Arial" Font-Size="Medium" 
            GridLines="Both" HorizontalAlign="Left"   Width="600px"></asp:GridView>
        <br />

        <br />
        <br />
        <br />
        <br />
        <br />
    </div>
    </form>
</asp:Content>

マスター ページ検索送信ボタン コード:

<asp:TextBox ID="Search1" runat="server" ></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit" PostBackUrl="~/Search.aspx" />
4

1 に答える 1

1

Button1 Click イベントで、QueryString に Search1 (TextBox) の値を設定し、検索ページにリダイレクトすることができます。

例えば。:

protected void Button1_Click(object sender, EventArgs e)
{
   Response.Redirect("~/Search.aspx?SearchText=" + Search1.Text);        
}

また、検索ページ コードを変更する必要があります。

string searchText = "";
if(Request.QueryString["SearchText"] != null)
  searchText = Request.QueryString["SearchText"];
MyCommand.CommandText = 
          "SELECT * FROM pets WHERE species like '%" + searchText  + "%'";
于 2012-12-10T14:36:50.020 に答える