我有一個asp.net網站,並在主頁面我有一些下拉控件,用戶選擇產品的標準。 在選定的最後一個下拉框之後,我將選定的值發送到另一個頁面,該頁面是childpage到masterpage,然後對數據庫進行查詢並將結果呈現在gridview中。關於如何搜索標準產品的建議
我的問題是,主頁面被刷新,所有選定的值被清除。 如何將值保存到masterpage下拉框或者是否有更好的解決方案?
我有一個asp.net網站,並在主頁面我有一些下拉控件,用戶選擇產品的標準。 在選定的最後一個下拉框之後,我將選定的值發送到另一個頁面,該頁面是childpage到masterpage,然後對數據庫進行查詢並將結果呈現在gridview中。關於如何搜索標準產品的建議
我的問題是,主頁面被刷新,所有選定的值被清除。 如何將值保存到masterpage下拉框或者是否有更好的解決方案?
我在主頁中添加了一個隱形面板並隱藏了裏面的所有控件。而不是張貼到另一個頁面,我用數據填充控件並顯示面板。 我發現這樣更快更簡單。 感謝您的幫助
如果您重定向到另一個頁面,主頁面將不會保留數據,您唯一可以做的就是使用會話變量。你可以在「面具」的會話值使用靜態變量:
public static string MyValue
{
get { return (string)HttpContext.Current.Session["MyValue"];}
set { HttpContext.Current.Session["MyValue"] = value; }
}
做重定向之前將值賦給你的「靜態」變量,在母版頁的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();
}
}
無論您要重定向多少頁,主頁總會讀取靜態變量中的值,並且您只需在重定向之前分配值。
當我在同一頁面,我不丟失數據,顯示結果的網格是在另一個頁面。當我執行response.redirect轉到其他頁面時,我正在丟失數據。 如果一切都在同一頁面上不是問題,但下拉列表位於MasterPage上,網格位於另一頁面上。 –
檢查我的更新,並讓我知道它是否對你有幫助 – Crabax