2008-09-23 7 views
1

getters와 setter가있는 사용자 정보를 저장하고 XML 파일의 데이터로 채워지는 클래스가 있다고 가정 해 보겠습니다. Java Bean 및 태그 라이브러리를 사용하는 것처럼 클래스의 모든 인스턴스를 반복하는 방법은 무엇입니까?클래스를 반복합니다. beans for asp.net

+0

당신이하려는 일에 대해 좀 더 자세히 설명해 주시겠습니까? 개체 컬렉션을 반복하여 데이터를 표시하려고합니까? 어쩌면 내가 찾고있는 솔루션의 유형을 알기 위해 JavaBeans에 익숙하지 않은 것 같습니다 ... –

+0

정확히 시도하고있는 것입니다. 자바에서는 태그 라이브러리를 사용하여 속성을 반복하고 html로 값을 출력 할 수 있습니다. asp.net 함께 할 수있는 비슷한 방법을 찾고 있어요 또는 그것을 잘 알고 있지 않은 더 나은 방법이있는 경우 .net –

답변

0

여기서는 클래스의 모든 인스턴스를 가져 와서 일반 목록에 추가 할 수 있다고 가정합니다. 당신은 당신이 반사를 사용할 수있는 각 속성 이름을 지정하지 않는 경우

List<YourClass> myObjects = SomeMagicMethodThatGetsAllInstancesOfThatClassAndAddsThemtoTheCollection(); 
foreach (YourClass instance in myObjects) 
{ 
Response.Write(instance.PropertyName.ToString(); 
} 

(PropertyInfo 참조) 그런 식으로 않습니다. 다시 말하지만, 이것이 당신의 의도 였는지 확실하지 않습니다.

+0

aspx 페이지에서이 작동합니까? –

+0

예 Response.Write는 현재 http 출력에만 쓰게됩니다. * aspx 페이지에서 작동합니다. 원하는 경우 정수 목록을 작성하고 위와 같이 페이지로드시 작성하십시오. – kd7

1

형식이 지정된 HTML을 출력하는 데는 몇 가지 방법이 있습니다. 아마도 반복 할 객체 컬렉션에 액세스하는 코드 숨김에 속성을 만들 것입니다. 그런 다음 .aspx 페이지 자체에서 반복 및 서식을 지정하는 논리를 작성합니다. 예를 들어, .aspx 페이지 :

[snip] 
<body> 
    <form id="form1" runat="server"> 
     <% Somethings.ForEach(s => { %> 
      <h1><%=s.Name %></h1> 
      <h2><%=s.Id %></h2> 
     <% }); %> 
    </form> 
</body> 
</html> 

그리고 코드 숨김 :

[snip] 
public partial class _Default : System.Web.UI.Page 
    { 
     protected List<Something> Somethings { get; private set; } 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      Somethings = GetSomethings(); // Or whatever populates the collection 

     } 
[snip] 

는 또한 리피터 컨트롤을 사용하여보고 귀하의 컬렉션에 데이터 소스를 설정할 수 있습니다. 위의 코드와 거의 같은 아이디어이지만이 방법이 더 명확하다고 생각합니다 (제 생각에는).