关于如何使用标准搜索产品的建议
Advice on how to search for products with criteria
我有一个 asp.net 网站,在母版页中我有一些下拉控件,用户可以在其中选择产品标准。
在最后一个选定的下拉框之后,我将选定的值发送到另一个页面,该页面是母版页的子页面,我对数据库进行查询并在 gridview 中显示结果。
我的问题是母版页被刷新,所有选定的值都被清除。
我怎样才能将值保存到母版页下拉框中,或者对此有更好的解决方案吗?
如果您重定向到另一个页面,母版页将永远不会保留数据,您唯一能做的就是使用会话变量。您可以 "mask" 使用静态变量的会话值:
public static string MyValue
{
get { return (string)HttpContext.Current.Session["MyValue"];}
set { HttpContext.Current.Session["MyValue"] = value; }
}
在进行重定向之前将值分配给您的 "static" 变量,在母版页的 Page_Load 中您可以读取这些值并将每个人分配给相应的控件。例如:
在Page1.aspx.cs中:
public void DoRedirect()
{
SiteMaster.MyValue = txtControlPage1.Text;
Response.Redirect("~/Page2.aspx", true);
}
加载Page2.aspx时,将调用母版页的Page_Load,您可以这样做:
protected void Page_Load(object sender, EventArgs e)
{
//Page_Load of Site.Master.cs
if (!IsPostBack)
{
txtSomeControl.Text = SiteMaster.MyValue;
MyUpdatePanel.Update();
}
}
无论您要重定向多少页,母版页总是会从您的静态变量中读取值,您只需在重定向之前分配值即可。
我在母版页中添加了一个不可见的面板,并将所有控件隐藏在其中。我没有发布到另一个页面,而是用数据填充控件并显示面板。
我发现这更快更容易。
感谢您的帮助
我有一个 asp.net 网站,在母版页中我有一些下拉控件,用户可以在其中选择产品标准。 在最后一个选定的下拉框之后,我将选定的值发送到另一个页面,该页面是母版页的子页面,我对数据库进行查询并在 gridview 中显示结果。
我的问题是母版页被刷新,所有选定的值都被清除。 我怎样才能将值保存到母版页下拉框中,或者对此有更好的解决方案吗?
如果您重定向到另一个页面,母版页将永远不会保留数据,您唯一能做的就是使用会话变量。您可以 "mask" 使用静态变量的会话值:
public static string MyValue
{
get { return (string)HttpContext.Current.Session["MyValue"];}
set { HttpContext.Current.Session["MyValue"] = value; }
}
在进行重定向之前将值分配给您的 "static" 变量,在母版页的 Page_Load 中您可以读取这些值并将每个人分配给相应的控件。例如:
在Page1.aspx.cs中:
public void DoRedirect()
{
SiteMaster.MyValue = txtControlPage1.Text;
Response.Redirect("~/Page2.aspx", true);
}
加载Page2.aspx时,将调用母版页的Page_Load,您可以这样做:
protected void Page_Load(object sender, EventArgs e)
{
//Page_Load of Site.Master.cs
if (!IsPostBack)
{
txtSomeControl.Text = SiteMaster.MyValue;
MyUpdatePanel.Update();
}
}
无论您要重定向多少页,母版页总是会从您的静态变量中读取值,您只需在重定向之前分配值即可。
我在母版页中添加了一个不可见的面板,并将所有控件隐藏在其中。我没有发布到另一个页面,而是用数据填充控件并显示面板。 我发现这更快更容易。 感谢您的帮助