我正在尝试将搜索查询重定向到另一个页面 [英] I am trying to redirect a search query to another page

查看:51
本文介绍了我正在尝试将搜索查询重定向到另一个页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有3页,主页,默认页面和搜索结果页面。如何将搜索查询从母版页重定向到搜索结果页。

I have 3 pages, the master page, default page and the searchresults page. How can I redirect the search query from the master page to the searchresults page.

aspx代码:

<! - 搜索表单 - >

    < asp:Label ID =" lbAlert" RUNAT = QUOT;服务器" ForeColor =" Red">< / asp:Label>

    < asp:TextBox runat =" server" ID = QUOT; tbKeyWords"宽度= QUOT; 115px" style =" font-size:8pt"文本= [搜寻"的onfocus = QUOT; inputFocus(本)"的onblur = QUOT; inputBlur(本)" />
$
    < asp:Button ID =" btnSearch" RUNAT = QUOT;服务器"文本= QUOT; GO"的onclick = QUOT; btnSearch_Click" />
$


    < br />< br />



    <! - 搜索结果 - >

    < asp:Repeater ID =" RepeaterSearchResult" runat =" server">

        < HeaderTemplate>&
            < h3>搜索结果:< / h3>

            < ol id =" result">

        < / HeaderTemplate>

        < ItemTemplate>

            < li>               < H4>< A HREF = QUOT;<%#ResolveClientUrl(QUOT;〜/ Show.aspx的productid = QUOT; +的eval("的ProductID"。)的ToString())%>"类= QUOT;标题"
风格= QUOT;颜色:蓝"><%#Server.HtmlEncode(エ(QUOT;产品名称")的ToString())%>< / A>< / H4>

                < p class =" brief"><%#Server.HtmlEncode(Eval(" Description")。ToString())%>

     &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; <峰; br />

&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; &NBSP; <%#Server.HtmlEncode(EVAL(QUOT;价格")的ToString()。)%>

&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; < br />&
                < / p>

            < / li>

        < / ItemTemplate>

        < FooterTemplate>

            < / ol>

        < / FooterTemplate>

    < / asp:Repeater>

<!-- Search Form -->
    <asp:Label ID="lbAlert" runat="server" ForeColor="Red"></asp:Label>
    <asp:TextBox runat="server" ID="tbKeyWords" width="115px" style="font-size: 8pt" Text="Search" onfocus="inputFocus(this)" onblur="inputBlur(this)" />
    <asp:Button ID="btnSearch" runat="server" Text="Go" onclick="btnSearch_Click" />

    <br /><br />

    <!-- Search Result -->
    <asp:Repeater ID="RepeaterSearchResult" runat="server">
        <HeaderTemplate>
            <h3>Search Result:</h3>
            <ol id="result">
        </HeaderTemplate>
        <ItemTemplate>
            <li>
                <h4><a href="<%# ResolveClientUrl("~/Show.aspx?productid=" + Eval("ProductID").ToString()) %>" class="title" style="color:blue"><%# Server.HtmlEncode(Eval("ProductName").ToString())%></a></h4>
                <p class="brief"><%# Server.HtmlEncode(Eval("Description").ToString())%>
                    <br />
                    <%# Server.HtmlEncode(Eval("Price").ToString()) %>
                    <br />
                </p>
            </li>
        </ItemTemplate>
        <FooterTemplate>
            </ol>
        </FooterTemplate>
    </asp:Repeater>

cs code:

使用System;

使用System.Collections.Generic;

使用System.Linq;



名称空间AvaProductions

{

  &NBSP;&NBSP; public partial class SearchResults:System.Web.UI.Page

    {

        ///< summary>

        ///用户输入的关键字。

        ///< / summary>

       受保护的列表< string> keywords = new List< string>();
$


        protected void btnSearch_Click(object sender,EventArgs e)

        {

            //将用户输入转为关键字列表。

           串[]关键字= tbKeyWords.Text.Split(新的字符串[] {""},StringSplitOptions.RemoveEmptyEntries);



&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; //基本验证。

            if(keywords.Length< = 0)

            {

                lbAlert.Text = QUOT;请输入关键字英寸;

&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;返回;

            }
            this.keywords = keywords.ToList();
$


            //进行搜索操作。

            DataAccess dataAccess = new DataAccess();

           列表<物品> list = dataAccess.Search(this.keywords);
$


            ShowResult(list);

        }



        #region Helpers



        ///< summary>

        ///显示页面中的记录列表。

        ///< / summary>

        ///< param name =" list">< / param>

        protected void ShowResult(List< Article> list)

        {

            RepeaterSearchResult.DataSource = list;

            RepeaterSearchResult.DataBind();

        }


        #endregion

    }
}

using System;
using System.Collections.Generic;
using System.Linq;

namespace AvaProductions
{
    public partial class SearchResults : System.Web.UI.Page
    {
        /// <summary>
        /// The keywords input by user.
        /// </summary>
        protected List<string> keywords = new List<string>();

        protected void btnSearch_Click(object sender, EventArgs e)
        {
            // Turn user input to a list of keywords.
            string[] keywords = tbKeyWords.Text.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);

            // The basic validation.
            if (keywords.Length <= 0)
            {
                lbAlert.Text = "Please input keyword.";
                return;
            }
            this.keywords = keywords.ToList();

            // Do search operation.
            DataAccess dataAccess = new DataAccess();
            List<Article> list = dataAccess.Search(this.keywords);

            ShowResult(list);
        }


        #region Helpers

        /// <summary>
        /// Display a list of records in the page.
        /// </summary>
        /// <param name="list"></param>
        protected void ShowResult(List<Article> list)
        {
            RepeaterSearchResult.DataSource = list;
            RepeaterSearchResult.DataBind();
        }

        #endregion
    }
}

推荐答案

由于这个问题更多关于ASP,然后也访问此资源:
http://forums.asp.net/

其中一个解决方案是设置"搜索"按钮的 PostBackUrl 属性,以便它指向"搜索结果"页面。
PostBackUrl 的文档包含一个示例。

One of the solutions is to set the PostBackUrl property of the Search button, so that it will point to Search Result page. The documentation for PostBackUrl contains a sample.

另一种方法是开始处理在"搜索"页面中的按钮,然后执行
Response.Redirect Server.Transfer 到搜索结果页面进行进一步处理。

Another way is to start handling the button in the Search page, then perform Response.Redirect or Server.Transfer to Search Result Page for further processing.


这篇关于我正在尝试将搜索查询重定向到另一个页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆