我正在尝试制作一个通用的 Search UserControl,它可以根据搜索结果将显示的这些值赋予一些值。但是,我目前正在尝试显示我的值的结果,它们总是显示为我的默认值。
我的用户控制代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ProductSearch.ascx.cs" Inherits="..." %>
<asp:Label ID="lblSearchWord" runat="server" />
<asp:Label ID="lblSearch" runat="server" />
代码背后:
private string _searchWord = string.Empty;
private int _search = -1;
public string SearchWord
{
get { return _searchWord; }
set { _searchWord = value; }
}
public int Search
{
get { return _search; }
set { _search = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
lblGroupId.Text = LevelId.ToString();
lblSearchWord.Text = SearchWord;
}
当我按下主 aspx.cs 页面上的搜索按钮时,我执行以下操作:
protected void btnSearch_Click(object sender, EventArgs e)
{
ucPS.SearchWord = txtProductSearch.Text;
ucPS.Search = 1
}
我的 aspx 页面包含以下内容
<%@ Register src="UserControls/ProductSearch.ascx" tagname="ProductSearch" tagprefix="ps" %>
<ps:ProductSearch id="ucPS" runat="server" />
我的问题是我不能使用查询字符串,因为用户可能在此页面上选择了我需要保持状态的其他一些东西,但是我确实测试了它并发现它可以正常工作。
我哪里错了?还是有更好的选择(查询字符串除外)。