我有一個UC_Categories.ascx (UC_1),它約束了categoryname。 UC_Products.ascx (UC_2)將按類別名稱顯示產品。他們兩人都是在頁稱爲BookShop.aspx(頁)在asp.net中的兩個用戶控件之間傳遞數據
在頁面,當用戶點擊一個UC_1(步驟1),它將呈現一個UC_2的類別名稱(步驟2)。我通過發送帶有參數爲param的請求來處理步驟1,其類別名稱爲頁面。 Step2新建一個UC_2,設置屬性值爲categoryname,並執行FillProductByCategoryName方法。然後將UC_2添加到頁面中的PlaceHolder。但我不顯示UC_2。
我需要每個人的幫助或建議。
謝謝你閱讀我的問題! ps:我的英語不太好。
在UC2的代碼隱藏:
public void FillProduct()
{
ProductsMN productsMN = new ProductsMN();
if (dlBook == null)
{
dlBook = new DataList();
dlBook.DataSource = productsMN.GetByCategoryName(CategoryName);
dlBook.DataBind();
}
else
{
dlBook.DataSource = productsMN.GetByCategoryName(CategoryName);
dlBook.DataBind();
}
}
public string CategoryName { get; set; }
頁面
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
string categoryName = Request.QueryString["categoryName"] as string;
if (!string.IsNullOrWhiteSpace(categoryName))
{
BookContent.Controls.Clear(); // BookContent : Placeholder
Control c = Page.LoadControl("~/UC/UC_Books.ascx") as UC.UC_Books;
UC.UC_Books ucBook = new UC.UC_Books();
ucBook.CategoryName = categoryName;
ucBook.FillProduct(); //line 10
BookContent.Controls.Add(ucBook); //line 11
}
}
在頁面的pageLoad的代碼隱藏
,useBook包含數據。但在頁面(視圖)中,我看不到數據。我認爲// line11不是執行或不是真實的。
您是否嘗試過公共財產? – 2012-07-21 03:44:20