categorynameを制約するUC_Categories.ascx (UC_1)があります。UC_Products.ascx (UC_2)は、カテゴリ名で製品を表示します。それらは両方ともBookShop.aspx(ページ)と呼ばれるページにあります
ページで、ユーザーがUC_1をクリックすると(ステップ1)、カテゴリ名でUC_2がレンダリングされます(ステップ2)。カテゴリ名であるparamを使用してPageにリクエストを送信することにより、ステップ1を処理します。ステップ2新しいUC_2を作成し、categorynameであるProperties値を設定し、FillProductByCategoryNameメソッドを実行します。次に、ページのPlaceHolderにUC_2を追加します。しかし、私は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が実行されていないか、trueではないと思います。