Bonnie_K
asked on
Gridview search using form or querystring parameter
Hi,
I have a simple gridview on a page which is populated with a query that has a parameter in it. Here's the query.
SELECT db_key, email_address, company_name, date_entered, valid_email
FROM dbo.tbl_Email2
WHERE (email_address LIKE '%' + @email + '%')
I have a text box called searchTextBox on the same web page as the gridview. There is also a regular button. I want the user to be able to enter a search string, click search and see the filtered results.
<asp:TextBox ID="searchTextBox" runat="server"></asp:TextB ox>
<asp:Button ID="Button1" runat="server" Text="Search" />
If I use the querystring parameter and type the url with a query parameter, it works fine. But if I use the form parameter it doesn't return any records.
<asp:FormParameter FormField="searchTextBox" Name="email" Type="string" />
I thought that postback was enabled by default. Am I missing something?
Thanks,
Bonnie
I have a simple gridview on a page which is populated with a query that has a parameter in it. Here's the query.
SELECT db_key, email_address, company_name, date_entered, valid_email
FROM dbo.tbl_Email2
WHERE (email_address LIKE '%' + @email + '%')
I have a text box called searchTextBox on the same web page as the gridview. There is also a regular button. I want the user to be able to enter a search string, click search and see the filtered results.
<asp:TextBox ID="searchTextBox" runat="server"></asp:TextB
<asp:Button ID="Button1" runat="server" Text="Search" />
If I use the querystring parameter and type the url with a query parameter, it works fine. But if I use the form parameter it doesn't return any records.
<asp:FormParameter FormField="searchTextBox" Name="email" Type="string" />
I thought that postback was enabled by default. Am I missing something?
Thanks,
Bonnie
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Just to make sure, in C#, to handle the event, you need to assign event handling on the element level (rather than with a Handles clause). If you have it set that way already and are still having problems, will you post the code for us to review?
<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" Text="Search" />
ASKER
yes, it's there...
<asp:Button ID="Button1" runat="server" Text="Search" OnClick="Button1_Click" />
I will post the page and code.
Now that it is pasted, I think it has to do with the fact that I am using a master page...
<asp:Button ID="Button1" runat="server" Text="Search" OnClick="Button1_Click" />
I will post the page and code.
Now that it is pasted, I think it has to do with the fact that I am using a master page...
<%@ Page Language="C#" MasterPageFile="~/Email_List/MasterPage2.master" AutoEventWireup="true" CodeFile="search.aspx.cs" Inherits="Email_List_search" Title="Search Email List" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div style="text-align:center">
<asp:TextBox ID="searchTextBox" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Search" OnClick="Button1_Click" /><br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" DataKeyNames="db_key"
DataSourceID="ObjectDataSource1" ForeColor="Black" GridLines="Vertical">
<FooterStyle BackColor="#CCCCCC" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="email_address" HeaderText="Email Address" SortExpression="email_address" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="company_name" HeaderText="Company Name" SortExpression="company_name" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="date_entered" HeaderText="Date Updated" SortExpression="date_entered" />
</Columns>
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" Font-Names="Tahoma" Font-Size="Small" />
<AlternatingRowStyle BackColor="#CCCCCC" />
<RowStyle Font-Names="Tahoma" Font-Size="Small" />
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete" OldValuesParameterFormatString="original_{0}" SelectMethod="GetEmailbySearch"
TypeName="DataTableAdapters.tbl_Email_Blast2TableAdapter" UpdateMethod="Update">
<DeleteParameters>
<asp:Parameter Name="Original_db_key" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="email_address" Type="String" />
<asp:Parameter Name="company_name" Type="String" />
<asp:Parameter Name="date_entered" Type="DateTime" />
<asp:Parameter Name="valid_email" Type="String" />
<asp:Parameter Name="Original_db_key" Type="Int32" />
</UpdateParameters>
<SelectParameters>
<asp:QueryStringParameter QueryStringField="test" Name="email" Type="string" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</asp:Content>
---------Code-------------
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Email_List_search : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.DataBind();
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Did this work for you? I can't translate what was in this posting to my problem.
https://www.experts-exchange.com/questions/23996251/Search-output-return-to-GridView-not-working.html
https://www.experts-exchange.com/questions/23996251/Search-output-return-to-GridView-not-working.html
ASKER
I am only using one parameter or the other at a time, I removed the FormParameter and tried the QueryStringParameter for testing, then put the FormParameter back in.
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.DataBind();
}