2012-01-15 4 views
1

나는 PHP 개발자이지만 이제 C#으로 asp.net을 배우고 있습니다. 우리 회사의 요구 사항입니다. C# 및 oops의 기본 사항에 익숙합니다. 내가 직면 한 문제는 데이터베이스에서 값을 검색하고 데이터 테이블을 만드는 방법을 배웠다는 것입니다. 이제부터는 데이터를 표시하기 위해 눈금 컨트롤을 바인딩 할 수 있다는 것을 알고 있지만이 기술은 데이터 그 룹에 대한 내 자신의 작업을 제한합니다.asp.net 테이블 만들기

<?php 
*/ 
retrive the data from the database and store it in an array using $row_sql = mysql_fetch_array() function 
/* 
.... 
.... 
?> 
<table> 
<tr> 
<td><?php $row_sql['fieldname']; ?></td> 
</tr> 
.... 
.... 

</table> 
?> 

나는 내가 원하는 것을 확실하지하지만 리피터 그런 일을 할 수 있다는 사실을 알고 : 이제 내가 원하는 것은 내가 같은 테이블을 구축하는 데 필요한 경우 내가 PHP에서 하드 코드 테이블을 사용한다는 것입니다 나는 asp.net 스타일에 익숙하지 않기 때문에 그러한 컨트롤이나 그 컨트롤을 사용하는 것이다.

아무도 나에게 어떻게 안내 할 수 있습니까? 아니면 PHP로하는 법을 알고 있다면 asp.net을 배우기 위해 어떻게해야합니까?

업데이트 : 여기에 내가 한 일이 있지만 오류가 계속 발생합니다.

은 첫째로 내가 DataAdapter에서 데이터 집합을 작성하여 데이터베이스를 생성 한 후 제안 내가 코드를 사용하지만, 나는 다음과 같은 오류가 점점 오전 :

foreach statement cannot operate on variables of type 'System.Data.DataTable' because 'System.Data.DataTable' does not contain a public definition for 'GetEnumerator'

+0

테이블을 생성하는 가장 쉬운 가장 쉬운 방법은 네이티브 asp.net gridview 컨트롤을 사용하는 것입니다. 다른 방법이 있지만 먼저 gridview를 조사하는 것이 좋습니다. – frenchie

답변

1

당신에만 그리드에서 제어 사용하도록 제한하지 않는를 처분 - 특정 데이터 테이블의 데이터 행을 순환하여 자신의 마크 업을 생성 할 수 있습니다. 데이터 테이블의 각 데이터 행을 순환과 열 1-3의 내용을 쓰기 (자신의 이름을 가정합니다

<% 
foreach (DataRowView dr in myDataTable.AsDataView()) 
{ 
    Response.Write("<tr>"); 
    Response.Write("<td>" + dr["Column1"].ToString() + "</td>"); 
    Response.Write("<td>" + dr["Column2"].ToString() + "</td>"); 
    Response.Write("<td>" + dr["Column3"].ToString() + "</td>"); 
    Response.Write("</tr>"); 
} 
%> 

는 "열 1", "열 2"이고 : 당신은 예를 들어 이런 식으로 뭔가를 할 수 "Column3", 물론), 각각 자신의 TD에, TR에 싸여있다. 그러나 당신이 이미 알아 냈다고 확신합니다 ...

내 제안은 적응하기 쉽기 때문에 MVC 프레임 워크 (ASP.NET MVC 프레임 워크이든 사용자 자신이든)를 구현하는 것입니다. PHP 배경에서 오는.

편집 나는 그냥 "AsDataView()"확장 방법을 사용하는 System.Data 네임 스페이스를 포함하는 기억 ... 열거의 DataView를 유형을 사용하는 코드를 업데이트했습니다. 다음과 같이 다른 방법으로, 당신이 DataView를 얻을 수 :

이 작업을 수행 할 수있는 여러 가지 방법이 있습니다
<% 
foreach (DataRowView dr in new DataView(myDataTable)) 
{ 
    // code... 
} 
%> 
+0

대답을 주셔서 감사합니다. @FarligOpptreden .. 저는 Zend와 같은 프레임 워크로 작업하면 코드를 유지 관리 할 수 ​​있다고 생각합니다. 그리고 위에 제안 된 방법에 관해서는 그것을 시도하고 당신에게 돌아갈 것입니다. 그리고 당신이 한 가지 더 도와 줄 수 있다면 ... 어디에서 MVC에 대한 좋은 자습서를 찾을 수 있습니다. 나는 .NET에 관해서 나쁜 프로그래머가되고 싶지 않다. –

+0

Pleasure ankit! 제 대답이 당신을 도왔고 질문에 대답 한 경우, 답변으로 표시하는 것이 좋습니다. :) – FarligOpptreden

+0

늦게 답변을 드려 죄송하지만 여전히 문제가 있습니다. 나는 abc라는 이름의 데이터 테이블을 만들었고 당신이 제안한 것처럼 각 테이블에 대해이 테이블을 사용하고 있지만 다음과 같은 오류가 발생합니다. foreach 문은 'System.Data.DataTable'유형의 변수에서 작동하지 않습니다. 'System.Data .DataTable '에'GetEnumerator '에 대한 공용 정의가 없습니다. –

1

:

  1. 의 GridView 또는 이와 유사한 severside 제어를 사용하여이. 더보기 this example 또는 this example
  2. 데이터 세트를 반복하고 수동으로 html을 생성합니다. PHP에서 일반 HTML과 ASP.NET 코드를 혼합하여 사용했던 것과 더 비슷합니다.

     <% 
          foreach (var row in myDataTable) 
           {%> 
           <tr> 
           <td> + <%=row[1].ToString()%> + </td> 
           <td> + <%=row[1].ToString()%> + </td> 
           <td> + <%=row[1].ToString()%> + </td> 
           ..... 
           <td> + <%=row[n].ToString()%> + </td> 
           <% } 
          %> 
    

    3 : 더 많은 것 같은 @FarligOpptreden 같은

뭔가를 제안했다. table server control을 사용하십시오.

PHP 경험이있는 사람이라면 2 번이 더 합리적이라고 생각합니다.

+0

Thanks 뛰어난 답변 인 Emmanuel N과 맞습니다. 확실히 두 번째 해결책은 제게 더 의미가 있습니다. 위에서 제안한 방법을 시도해보고 다시 생각해 볼 것입니다. 진심으로 답변 해 주셔서 감사합니다. –

+0

답장을 보내 주시면 죄송합니다. –