「is-active」というクラスがあり、現在アクティブなリンクに基づいて、ナビゲーションからメインコンテンツに突き出ている色付きの矢印があります。コードは aforeach
を実行し、データベースからすべてのカテゴリを取得します。「is-active」クラスを現在のリンクに対してのみ表示するにはどうすればよいですか? コントロールに入れてopenList
5つのカテゴリすべてに表示されるので、機能することはわかっていますが、選択したカテゴリのみに表示する方法がわかりません。
よろしくお願いします。
以下は、カテゴリとリンク ボタンのコードです。
protected override void CreateChildControls()
{
LiteralControl openingDiv = new LiteralControl("<div id='MainPanel'>");
LiteralControl closingDiv = new LiteralControl("</div>");
this.Controls.Add(openingDiv);
foreach (DataRow dr in ds.Tables[0].Rows)
{
LiteralControl openList = new LiteralControl("<li class='" + dr["CategoryColor"].ToString() + "'>");
LiteralControl closeList = new LiteralControl("</li>");
Label lblNumber = new Label();
LinkButton myLinkButton = new LinkButton();
myLinkButton.Text = "<span class='number'>" + dr["CategoryNumber"] + "</span>"+ dr["CategoryName"].ToString();
myLinkButton.CommandArgument = dr["Category_ID"].ToString();
myLinkButton.Click += myLinkButton_Click;
this.Controls.Add(openList);
this.Controls.Add(myLinkButton);
this.Controls.Add(closeList);
}
this.Controls.Add(closingDiv);
}
void myLinkButton_Click(object sender, EventArgs e)
{
LinkButton btn = (LinkButton)(sender);
Session["CategoryID"] = btn.CommandArgument;
Response.Redirect(Request.RawUrl);
}