2011-01-14 3 views
0

이 게시물에서 언급 할 가치가없는 이유로 ASP.NET 컨트롤 사용을 중단하고 .aspx 페이지에 일반 HTML 컨트롤을 사용하기로 결정했습니다. 따라서 HTML을 동적으로 생성하기 위해 .aspx에 C# 인라인을 사용하여 필요한 작업을 수행합니다. 예를 들어.aspx 페이지에 인라인 C#을 작성하는 클리너 방식

: 나는 동적으로 < 옵션 > 요소가 객체의 일반적인 목록을 통해 반복에 의해 구동되는 < 선택 > 요소를 만드는 오전 어떻게에서 .aspx 조각을 보여줍니다.

<select name="s"> 
<option value="-9999">Select an entity...</option> 
<% foreach (MyEntity e in this.MyEntities) 
{%> 
<option <% if (MyEntityInScope.ID == e.ID) 
{ %>selected<%} %> value="<%= e.ID %>"> 
<%= e.Name%></option> 
<%} %> 
</select> 

기능면에서 나는이 HTML 작성 방법을 선호합니다 (HTML을 ASP 컨트롤과 비교하여 생성하는 방법을 더 잘 느낍니다). 그러나 구문 적으로 (그리고 시각적으로), 나는 성가시다 (그리고 추악한)다고 생각한다.

ASP.NET 컨트롤을 사용하여 HTML을 동적으로 생성하는 "더 나은"방법 (다른 구문)이 있습니까?

+2

대신 "ASP.NET MVC"를 사용하고 싶습니다. – codymanix

+2

새로운 .Net MVC 프로젝트 유형을 살펴보십시오. 생각하는 방식과 더 일치하는 것 같습니다. http://www.asp.net/mvc – David

+0

MVC에서 Scott Guthrie의 동영상 (http://vimeo.com/7215798)을 보았습니다. MVC를 배우고 구현하는 데 약간의 동기 부여가 있었지만, 필자가해야 할 일은 HTML을 작성하기위한 구문적인 문제를 배우는 것만 큼 새로운 패러다임/프레임 워크를 배워야하는 이유가 궁금합니다. 솔직하게 말하면, MVC로 뛰어 들기 위해 울타리에 아직도 있는지. 즉, 나는 ASP.NET 폼 컨트롤을 다했음을 확신합니다. – Jed

답변

7

논리를 메서드에 넣고이 메서드를 호출하지 않는 이유는 무엇입니까?

string GetEntityList() 
{ 
// ... 
} 

<select name="s"> 
<option value="-9999">Select an entity...</option> 
<%= GetEntityList() %> 
</select> 
2

일반적인 접근 방식은 XSLT를 통한 XML입니다. 즉, 코드가 XML 문서를 어셈블하고 적합한 XSLT 변환을로드 한 다음 결과를 보냅니다.

+2

소리가 나쁩니다. –

+1

왜 소리가 나빠요? 프리젠 테이션 레이어를 변경해야 할 때마다 코드를 변경할 필요가 없으면 XSLT를 변경하면됩니다 (그리고 깨끗한 XSLT/HTML을 원할 경우 CSS를 변경하는 시각적 스타일링). 서버에서 사용자 정의 컨트롤을 사용하여 다음과 같이 XSLT를 통해 XML에서 HTML 로의 변환을 수행 할 수 있습니다. http://clipflair.codeplex.com/SourceControl/latest#Server/Components/CustomXml/CustomXml.cs –

2

ASP.NET MVC의 HTML 도우미와 비슷한 HTML 문자열을 반환하는 유틸리티 메서드가 도움이 될 수 있습니다.

관련 문제