나는 "is-active"라는 클래스를 가지고 있으며, 사용자가 클릭 한 링크를 기반으로 메인 콘텐츠에 nav에서 튀어 나온 색깔의 화살표가 있습니다. 이 코드는 foreach
을 실행하고 데이터베이스에서 모든 범주를 가져옵니다. "is-active"클래스가 현재 링크에 대해서만 표시되도록하려면 어떻게합니까? 나는 그것이 openList
컨트롤에 넣은 이후로 작동한다는 것을 알고 있으며 5 가지 범주 모두에 표시됩니다. 선택한 범주에만 표시되도록하는 방법을 모르겠습니다.C# 코드에서 선택된 링크에 대해서만 클래스를 추가하는 방법은 무엇입니까?
jQuery를 첨부하여 시도했지만, linkbutton
을 추가하는 것은 코드에서 모두 완료되므로 두 가지를 첨부하는 방법을 모르겠습니다. 이것이 유일한 방법입니까 아니면 다른 방법입니까?
도움을 주셔서 감사합니다.
는 아래 카테고리와 링크 버튼에 대한 내 코드입니다 :
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);
}
"현재 링크"는 어떻게 정의합니까? – Krishna
귀하의 질문을 이해하지 못해 죄송하지만 링크 버튼은 프로그래밍 방식으로 생성됩니다. 사용자가 탐색 링크 버튼 중 하나를 클릭하면 해당 항목의 내용을 반영하도록 업데이트 패널을 업데이트합니다. 내 문제는 5 개의 링크 버튼 중 하나를 클릭하면 사용자가 활성 링크임을 알 수 있도록 링크 버튼에서 확장해야하는 작은 화살표 이미지가 있다는 것입니다. – Peter
좋아요, 패널을 업데이트하는 동안 클래스를 추가 할 수 있습니다. (또는) [.ajaxComplete()] (http://api.jquery.com/ajaxComplete/)를 사용하여 이벤트를 처리 할 수 있습니다. – Krishna