it-swarm.dev

로드시 C #의 div 태그 내에 HTML을 동적으로 추가 할 수 있습니까?

마스터 페이지를 사용하고 있지만 페이지에서 div를 찾아 HTML을 던질 수 있습니까? 감사.

45
Sara Chipps

Runat = "server"가있는 div를 페이지에 추가 할 수 있습니다.

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

그런 다음 코드 숨김에서 InnerHtml 속성을 설정하십시오.

myDiv.InnerHtml = "your html here";

클라이언트 측에서 DIV의 내용을 수정하려면 다음과 유사한 자바 스크립트 코드를 사용할 수 있습니다.

<script type="text/javascript">
    Sys.Application.add_load(MyLoad);
    function MyLoad(sender) {
        $get('<%= div.ClientID %>').innerHTML += " - text added on client";
    }
</script>
81
M4N

사용하다 asp:Panel 그에 대한. div로 변환됩니다.

15
Otávio Décio

사용을 기억하십시오

myDiv.InnerHtml = "something";

myDIV의 모든 HTML 요소를 대체합니다. 이를 피하기 위해 텍스트를 추가해야합니다.

myDiv.InnerHtml = "something" + myDiv.InnerText;

myDiv의 모든 HTML 컨트롤이지만 ASP html 컨트롤 (아직 렌더링되지 않았으므로)).

5
Vivek Raj

이 방법으로 마스터 페이지 내의 컨트롤을 참조 할 수 있습니다.

void Page_Load()
{
    ContentPlaceHolder cph;
    Literal lit;

    cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");

    if (cph != null) {
        lit = (Literal) cph.FindControl("Literal1");
        if (lit != null) {
            lit.Text = "Some <b>HTML</b>";
        }
    }

}

이 예제에서는 ContentPlaceholder에 Literal 컨트롤을 넣어야합니다.

3
splattne

해당 마스터 페이지를 사용하는 페이지의 내용에 HTML을 삽입하는 코드를 마스터 페이지 코드 뒤에 넣고 싶습니까?

컨트롤 이름이 변경되면 쉽게 깨질 수있는 깨지기 쉬운 솔루션이므로 FindControl을 통해 컨트롤을 검색하지 않습니다.

가장 좋은 방법은 마스터 페이지에서 모든 하위 페이지가 처리 할 수있는 이벤트를 선언하는 것입니다. 이벤트는 HTML을 EventArg로 전달할 수 있습니다.

1
Jim Petkus