우리 사이트에는 서비스중인 사이트에 따라 Site.master에 전달되어야하는 일련의 메타 태그 값이 데이터베이스에 있습니다. 페이지로드 이벤트에 BingMetaTag 데이터베이스 필드 값을 포함시키는 방법은 무엇입니까? 마스터 페이지의 메타 태그에 데이터베이스의 content 속성 값을 전달해야합니다. 다음과 같이데이터베이스에서 Site.Master에 동적 메타 태그를 추가하는 방법은 무엇입니까?
를 Page_Load이다 : 우리는 이미 다른 데이터베이스 테이블에서 제목, 메타 키워드와 메타 설명에 가져오고 있습니다
public partial class Site : System.Web.UI.MasterPage {
protected DealerInformation objDealerInformation = null;
protected DealerSite objDealerSite = null;
protected ConnectionStringConfig dbConfig = null;
protected void Page_Load(object sender, EventArgs e) {
dbConfig = Session["DBConfig" + Request.Url.Host] as ConnectionStringConfig;
objDealerInformation = CommonFunctions.GetDealerInformation(dbConfig);
objDealerSite = Session["DealerSite" + Request.Url.Host] as DealerSite;
try {
imgGoogleAdServices.Src = string.Format(@"//googleads.g.doubleclick.net/pagead/viewthroughconversion/{0}/?value=0&label={1}&guid=ON&script=0;", objDealerSite.GoogleConversionID, objDealerSite.GoogleConversionLabelRemarketing);
} catch {
imgGoogleAdServices.Src = "";
}
try {
WebEntitiesModel context = new WebEntitiesModel(dbConfig["WebConnection"]);
String aspPage = HttpContext.Current.Request.Url.AbsolutePath.ToString().ToLower();
MetaTag pageMetaTag = (from m in context.MetaTags
where m.Page == aspPage
select m).Single();
Page.Title = (pageMetaTag.PageTitle != null ? pageMetaTag.PageTitle : "");
Page.MetaKeywords = (pageMetaTag.MetaKeywords != null ? pageMetaTag.MetaKeywords : "");
Page.MetaDescription = (pageMetaTag.MetaDescription != null ? pageMetaTag.MetaDescription : "");
} catch {
Page.Title = "";
Page.MetaKeywords = "";
Page.MetaDescription = "";
}
참고. BingMetaTag의 값을 별도의 메타 태그 항목으로 추가하기 만하면됩니다.
+1하지만 마스터 페이지에서 그렇게하는 것이 더 쉽기 때문에 한 번만 수행하면됩니다. – MikeSmithDev
WebForms에서 MasterPage 자체의 논리가 없어야한다고 생각합니다. Page 클래스는 컨트롤러 역할을해야합니다. – Dai