Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用文本框ASP.NET筛选gridview_C#_Asp.net_Gridview_Webforms_Textbox - Fatal编程技术网

C# 使用文本框ASP.NET筛选gridview

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是空的?是的,

我的问题是,当我在文本框上键入时,每次键入时页面都会反复加载,因此,当我只想从文本框中获得类似的记录时,Llenatalla方法会收到一个空字符串并从数据库中获取所有记录

HTML代码

代码隐藏

BLL代码

DAL码


您正在执行自动完成。您键入的内容就是您得到的内容,这是您的要求。添加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();
    }
}