C# 使用文本框ASP.NET筛选gridview
我的问题是,当我在文本框上键入时,每次键入时页面都会反复加载,因此,当我只想从文本框中获得类似的记录时,Llenatalla方法会收到一个空字符串并从数据库中获取所有记录 HTML代码 代码隐藏 BLL代码 DAL码C# 使用文本框ASP.NET筛选gridview,c#,asp.net,gridview,webforms,textbox,C#,Asp.net,Gridview,Webforms,Textbox,我的问题是,当我在文本框上键入时,每次键入时页面都会反复加载,因此,当我只想从文本框中获得类似的记录时,Llenatalla方法会收到一个空字符串并从数据库中获取所有记录 HTML代码 代码隐藏 BLL代码 DAL码 您正在执行自动完成。您键入的内容就是您得到的内容,这是您的要求。添加if!IsPostBack在页面加载事件中显示,并根据需要显示您的代码。因此,当您在文本框中键入内容时,JavaScript通过模拟单击搜索按钮来创建回发。问题是服务器端的txtBuscar.Text是空的?是的,
您正在执行自动完成。您键入的内容就是您得到的内容,这是您的要求。添加if!IsPostBack在页面加载事件中显示,并根据需要显示您的代码。因此,当您在文本框中键入内容时,JavaScript通过模拟单击搜索按钮来创建回发。问题是服务器端的txtBuscar.Text是空的?是的,txtBuscar.Text是空的
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<table>
<tr>
<td>Buscar descripcion:
</td>
<td>
<asp:TextBox ID="txtBuscar" runat="server"></asp:TextBox>
</td>
<td>
<asp:Button ID="btn" runat="server" OnClick="btn_Click" />
</td>
</tr>
</table>
<asp:GridView ID="grdProductos" runat="server" AutoGenerateColumns="false" OnRowCommand="grdProductos_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="btnLink" runat="server" ImageUrl="~/Styles/link.png" CommandArgument='<%#Eval("t1")%>'
CommandName="btnLink" Width="25" Height="25" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="# de Subasta" DataField="t1" />
<asp:BoundField HeaderText="Nombre" DataField="t2" />
<asp:BoundField HeaderText="Descripcion" DataField="t3" />
</Columns>
</asp:GridView>
<script type="text/javascript" language="javascript">
function doClick(btn, e) {
var key;
if (window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if (key) {
var btn = document.getElementById(btn);
if (btn != null) {
btn.click();
//return false;
}
}
}
public partial class ListaSubastas : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txtBuscar.Attributes.Add("onKeyPress",
"doClick('" + btn.ClientID + "',event)");
}
public void llenarTabla(string b)
{
List<object> lista = new List<object>();
SubastasBLL subastasBLL = new SubastasBLL();
lista = subastasBLL.consultarSubasta(b);
grdProductos.DataSource = lista;
grdProductos.DataBind();
}
protected void btn_Click(object sender, EventArgs e)
{
llenarTabla(txtBuscar.Text);
}
}
public class SubastasBLL
{
public List<object> consultarSubasta(string buscar)
{
SubastasDAL subastasDAL = new SubastasDAL();
return subastasDAL.consultarSubasta(buscar);
}
}
public class SubastasDAL
public List<object> consultarSubasta(string buscar)
{
AmacdisEntities context = new AmacdisEntities();
var subasta = from tSubasta in context.Auction
where tSubasta.Description.Contains(buscar)
select new
{
t1 = tSubasta.AuctionId,
t2 = tSubasta.ProductName,
t3 = tSubasta.Description
};
return subasta.AsEnumerable<object>().ToList();
}
}