2014-03-07 3 views
0

그래서 기본적으로 백엔드에서 litterals을 통해 HTML에 요소를 추가하고 있습니다. ASP 콘텐츠 자리 표시 자에서 사용할 때 유용합니다. 하지만 특정 페이지의 다른 특정 장소가 필요합니다. 필자는 runat = "server"로 div를 만들었습니다.하지만 작동하지 않는 것 같습니다. 내가 사용할 수있는 것에 경험이있는 사람이 있습니까? 이 코드의 일부입니다 :aspx.cs에서 aspx 페이지에 새 LiteralControl을 추가하십시오.

foreach (var something in somethingelse) 
{ 
    this.Page.Form.FindControl("ContentPlaceholder1") 
     .Controls.Add(
     new LiteralControl("It's a long list, so just typing this.") 
    ); 
} 

답변

0

div에 runat = "server"를 사용할 수 있습니다. 동적으로 된 div를 작성해야하는 경우

myNewDiv.InnerHtml = "Some new text in the div"; 

당신이 다음을 수행 할 수 있습니다 : 예를 들어 :

<div id="myNewDiv" runat="server"></div> 

을 뒤에 코드에서

 for (var i = 0; i < 10; i++) 
     { 
      var ele = new HtmlGenericControl("div") 
      { 
       InnerHtml = string.Format("new div {0}", i), 
       ID = string.Format("NewDiv_{0}", i) 
      }; 

      Page.Form.FindControl("MainContent").Controls.Add(ele); 
     } 

당신은 새로운 푸시 할 수 있습니다 ContentPlaceHolder의 어느 곳에 나있는 기존 div로 divs :

 var page = Page.Form.FindControl("MainContent").FindControl("myNewDiv").Controls; 
     for (var i = 0; i < 10; i++) 
     { 
      var ele = new HtmlGenericControl("div") 
      { 
       InnerHtml = string.Format("new div {0}", i), 
       ID = string.Format("NewDiv_{0}", i) 
      }; 

      page.Add(ele); 
     } 
0

장소

<table> 
<tbody> 
<-- Your literal control here --> 
</tbody> 
</table> 

아래 코드와 같이 소스에서 HTML 태그 뒤에 literal1.Text ="<tr><td>'"+ Your data here +"'</td></tr>"를 설정하고는 그것은 foreach 루프의 상점에서, 그래서 내가 그렇게한다면, 그것은 늘 새로운 문자 확인

+0

를 작동합니다 각 항목에 대해, 문자 그대로 "literal"이라는 이름을 지은 im이 그 일을하는 경우 문제가 발생할 것입니다. – Joonas89