2011-03-18 3 views
3

내 마스터 웹 페이지에 많은 HTML 태그가 있습니다. 런타임에 코드를 사용하여 HREF 값을 대체하고 싶습니다. 그렇게하는 방법? 모든 태그에는 runat = "server"태그가 지정됩니다.런타임시 href 값 바꾸기

답변

2

:

private void UpdateTags(Control page) 
    { 
     foreach (Control ctrl in page.Controls) 
     { 
      if (ctrl is HtmlAnchor) 
      { 
       ((HtmlAnchor)ctrl).HRef = "myNewlink"; 
      } 
      else 
      { 
       if (ctrl.Controls.Count > 0) 
       { 
        UpdateTags(ctrl); 
       } 
      } 
     } 
    } 
2

AncorTag HTML 컨트롤의 HRef 속성을 사용하여 변경할 수 있습니다. 이 같은

:

<a id="anchor1" runat="server"></a> 

코드에서

void Page_Load(object sender, EventArgs e) 
{ 
    anchor1.HRef = "http://www.microsoft.com"; 
} 
1

당신은 그것에게 ID를 부여하고 Href 속성을 변경해야합니다.

<a runat="server" id="link1">link 1</a> 

: 그리고

link1.HRef = "http://stackoverflow.com"; 
2
당신은 다음과 같이 이상 ControlsCollection의 모든 컨트롤을 반복 입력 HtmlAnchor의 모든 컨트롤의 Href 속성을 업데이트 할 필요가
HtmlAnchor MyAnchor = (HtmlAnchor)e.Item.FindControl("YourAnchorID"); 
MyAnchor.HRef = "mypage.aspx"; 
0

CustomControl, extendi Hyperlink-Class를 입력하고 Logic을 입력하십시오. 사용자 지정 하이퍼 링크에 사용하여 일부 링크에 Trackingdata를 추가합니다.

관련 문제