2012-03-29 5 views
1

페이지에 페이스 북 태그를 추가하려고합니다. 사용자마다 다르므로 동적으로 추가하려고합니다.asp.net에서 동적 메타 태그를 설정하는 방법은 무엇입니까?

<meta name="og:title" content="<%= GetSocialTitle() %>"/> 

그러나 소스 페이지에서 그것은하지 않습니다 폭로를하고 다음과 같습니다 :이 같은 코드를 가지고 내가 메타를 설정하려고했습니다

<meta name="og:title" content="&lt;%= GetSocialTitle() %>"/> 

대신

<meta name="og:title" content="some title"> 

코드 뒤

HtmlMeta tag = new HtmlMeta(); 
tag.Name = "og:title"; 
tag.Content = GetSocialTitle(); 
Page.Header.Controls.Add(tag); 

하지만 예외는 " 컨트롤에 코드 블록이 포함되어 있으므로 컨트롤 컬렉션을 수정할 수 없습니다.

+0

관련 : http://stackoverflow.com/questions/8104268/inline-code-in-head-tag-asp-net –

답변

10

코드를 사용하려면 해당 og : title 메타 태그를 제거하고 runat = 뒤에

<head runat="server"> 
    ... 
</head> 

코드 : head 태그에 "서버"마크 업

. 당신이 뒤에 코드를 사용하지 않으려면

HtmlMeta tag = new HtmlMeta(); 
tag.Name = "og:title"; 
tag.Content = GetSocialTitle(); 
Page.Header.Controls.Add(tag); 

것은, 머리 태그에서 RUNAT 서버를 제거 :

<head> 
    <meta name="og:title" content="<%= GetSocialTitle() %>"/> 
    ... 
</head> 
0

또 다른 작은 트릭은 콘텐츠 주위에 자리 표시 자 컨트롤을 사용하는 것입니다. 당신이 할 수 그래서 귀하의 경우 , ...

 <asp:PlaceHolder runat="server"> 
      <meta name="og:title" content="<%= GetSocialTitle() %>"/> 
     </asp:PlaceHolder> 

과 제대로 번역해야한다.

HTH

데이브

관련 문제