2012-07-09 5 views
0

첫 번째 MVC 웹 사이트를 만들고 있습니다. 사이트에서 사용자는 모델 데이터베이스에 저장된 객체를 선택하고 텍스트 필드에 몇 가지 추가 데이터를 입력 한 다음 버튼을 클릭하고 결과 표를 반환하는 계산을 수행 할 수있는 페이지를 만들어야합니다. 이 결과는 데이터베이스에 저장되지 않습니다. 또한이 데이터 표는 어떤 객체가 선택되었는지에 따라 달라지는 열의 수 등이 변경 될 수 있습니다.MVC의 비 모델 구동 복귀 페이지

MVC로 이것을 수행하는 가장 좋은 방법은 무엇입니까? 그것은 표준 CRUD 연산이 아니며 내가 연구 한 모든 MVC 튜토리얼은 CRUD 연산만을 다루고 있습니다.

답변

1

ASP.NET MVC 페이지는 .Net 클래스를 포함하여 모든 클래스에 강하게 입력되거나 전혀 입력되지 않아도 별다른 문제가되지 않습니다.

귀하의 경우, DataTable 개체 (System.Data에서)를 사용하겠습니다. 구조체에 서명하거나 사전 목록을보기에 전달할 수도 있지만 실용적이 될 수 있습니다. (컨트롤러에서)

액션 :

[HttpPost] 
public ActionResult DoMath(int yourArguments) 
{ 
    System.Data.DataTable yourTabularResults = new System.Data.DataTable(); 

    //your magic 

    return View(yourTabularResults); 
} 

그리고보기 :

@model System.Data.DataTable 

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <title>DoMath</title> 
</head> 
<body> 
    <div> 
     @foreach (System.Data.DataRow currentLine in Model.Rows) 
     { 
      //do your job 
     } 
    </div> 
</body> 
</html> 

감사

1

보기에서 원하는 HTML 코드를 생성하기 만하면됩니다. 다음에서는 사용자가 테이블로 렌더링하도록 선택한 객체 인 SelectedObject이라고 가정합니다.

<table> 
@for (int row = 0; row < SelectedObject.Rows; row++) { 
    <tr> 
    @for (int col = 0; col < SelectedObject.Columns; col++) { 
     <td>@SelectedObject.GetDataFor(row, col)</td> 
    @} 

    </tr> 
@} 
</table>