2010-03-04 2 views
0

나는 html의 멋진 세트를 가지고 있으며 이제 RenderBeginTag, RenderEndTag 유형의 코드를 내 사용자 정의 컨트롤 렌더링 메소드에 사용해야합니다. html C# 코드를 변환하기위한 도구가 있습니까? 이 코드를 수동으로 코딩하기 시작하면 너무 많은 작업이 필요 없습니다.HTML을 ASP.Net으로 변환하는 방법 write.RenderBeginTag 유형 코드

+0

하이 야니를 S :

[ToolboxData("<{0}:MyCustomControl runat=server></{0}:MyCustomControl>")] public class MyCustomControl : CompositeControl { public MyCustomControl() { } public override void RenderControl(HtmlTextWriter writer) { base.RenderEndTag(writer); if (!this.DesignMode) { var label = new Label(); label.Text = "Hello!"; label.RenderControl(writer); } } } 

는 희망이 당신의 질문에 대한 대답 스택 오버플로 가라. 달성하고자하는 것에 대한 몇 가지 코드 예제를 게시 할 수 있습니까? "html C# 코드 변환"이란 무엇입니까? – Oded

+0

안녕 오뎃 나는 writer.AddAttribute (HtmlTextWriterAttribute.Class, "제목")에

Page title
같은 것을 변환 할; writer.RenderBeginTag (HtmlTextWriterTag.Div); writer.Write ("페이지 제목"); writer.RenderEndTag(); – Jani

답변

0

이렇게하는 방법이 확실하지 않습니다. 가장 가까운 내가 찾을 수있는 this Response.Write 호출로 HTML 코드를 생성하는 사이트입니다.

0

사용자 정의 WebControl 클래스를 작성할 때, 당신은 여전히 ​​방법 렌더링 태그를 사용할 필요가 없도록 표준 ASP.NET 컨트롤을 사용할 수 있습니다

[ToolboxData("<{0}:MyCustomControl runat=server></{0}:MyCustomControl>")] 
public class MyCustomControl : CompositeControl 
{ 
    public MyCustomControl() 
    { 

    } 

    public string Text 
    { 
     get 
     { 
      object o = ViewState["Text"]; 
      return ((o == null) ? "Set my text!" : (string)o); 
     } 
     set 
     { 
      ViewState["Text"] = value; 
     } 
    } 

    protected override void CreateChildControls() 
    { 
     // Create controls 
     var label = new Label(); 
     label.ID = "innerLabel"; 
     label.Text = this.Text; 

     // Add controls 
     this.Controls.Add(label); 

     // Call base method 
     base.CreateChildControls(); 
    } 
} 

또는 당신이 그렇게 같은 렌더링 방법에 태그를 사용할 수 있습니다 : 아,

+0

동일한 문제가 발생합니다. 나는 수백 줄의 html을 가진 10 개의 다른 페이지 레이아웃과 같은 것을 가지고있다. RenderTags를 작성하는 대신에 다음과 같은 코드를 작성해야합니다. 표 t = new Table(); this.Control.Add (t); TableRow tr = 새 TableRow(); t.Rows.Add (tr); 내 원래 목표에 더 가까워지지 않습니다. 누군가 HTML에서이 유형의 코드를 작성하는 방법을 알고 있다면 좋은 선택입니다. Jani – Jani

+0

'CreateChildControls'을 사용하는 첫 번째 코드 샘플을 참조하십시오. – Codesleuth

0
[ToolboxData("<{0}:MyCustomControl runat=server></{0}:MyCustomControl>")] 
public class MyCustomControl : CompositeControl 
{ 
    public MyCustomControl() 
    { 

    } 

    public override void RenderControl(HtmlTextWriter writer) 
    { 
     base.RenderEndTag(writer); 

     if (!this.DesignMode) 
     { 
      var label = new Label(); 
      label.Text = "Hello!"; 
      label.RenderControl(writer); 
     } 
    } 
} 
+0

방금 ​​내 답을 복사하여 붙여 넣었습니까? – Codesleuth

관련 문제