我正在尝试为我的ASP.NET页面创建一个搜索栏,它将包含在主页中,以便它将显示在所有页面上。输入搜索文本并点击搜索将发送到results.aspx,然后从主页面搜索框中检索文本的值,并在网格视图中显示数据库中的数据。从我的主页搜索工作正常,但我希望用户能够在结果页面上输入新的搜索文本,并在网格视图中使用新数据重新加载页面。 以下是results.aspx页面加载
的代码 if (PreviousPage != null)
{
TextBox SourceTextBox =
(TextBox)PreviousPage.Master.FindControl("txtSearchMaster");
if (SourceTextBox != null)
{
txtSearch.Text = SourceTextBox.Text;
}
}
母版页上的代码
<div id="search">
<asp:HyperLink ID="linkAddFile" runat="server" BorderStyle="None" NavigateUrl="~/Default.aspx" Width="150px" >Add File</asp:HyperLink>
<asp:TextBox ID="txtSearchMaster" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" PostBackUrl="~/results.aspx" />
</div>
问题是,一旦我到达结果页面并尝试从那里进行新搜索,我的条件(PreviousPage!= null)表示 为空。
答案 0 :(得分:6)
请勿通过<div id="search">
<asp:TextBox ID="txtSearchMaster" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" />
</div>
属性从上一页获取搜索值。
相反,当用户执行搜索时,从搜索文本框中获取值并将值传递给结果页面。例如:
母版页
protected void btnSearch_Click(object sender, EventArgs e)
{
var searchText = Server.UrlEncode(txtSearchMaster.Text); // URL encode in case of special characters
Response.Redirect("~/Results.aspx?srch="+searchText);
}
背后的主码
protected void Page_Load(object sender, EventArgs e)
{
if(!String.IsNullOrEmpty(Request.QueryString["srch"])
{
//perform search and display results
}
}
结果页面代码
>>> soup = BeautifulSoup(data, "html.parser")
>>> soup.find('th', text='Industry').findNext('td').find_all('a')[0].get_text()
u'Professional services'
>>>
>>> soup = BeautifulSoup(data, "lxml")
>>> soup.find('th', text='Industry').findNext('td').find_all('a')[0].get_text()
u'Professional services'
>>>
>>> soup = BeautifulSoup(data, "html5lib")
>>> soup.find('th', text='Industry').findNext('td').find_all('a')[0].get_text()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'findNext'
答案 1 :(得分:0)
我认为您不应该通过 var_dump('username is: '.$_SERVER['PHP_AUTH_USER'] . ' and password is: ' . $_SERVER['PHP_AUTH_PW']);
属性从上一页获取搜索值。
相反,你也可以这样做:
PreviousPage