티스토리 뷰

조회화면을 하나 새로 추가하겠습니다

일단, 좀 정리부터 하죠

HomeController에서 Create를 제외한 나머지 Action은 모두 지웁니다

 

 

 

HomeController.cs

public class HomeController : Controller

{

    /// <summary>

    /// Todo 리스트 객체 (DB대체)

    /// </summary>

    public static List<Todo> TodoList = new List<Todo>();

 

    public ActionResult Create()

    {

        return View(new Todo());

    }

 

    [HttpPost]

    public ActionResult Create(Todo todo)

    {

        todo.No = TodoList.Count > 0 ? TodoList.Max(x => x.No) + 1 : 1;

        TodoList.Add(todo);

        return View();

    }

}

 

 

 

마찬가지로 View/Home 폴더에서 Create를 제외한 파일을 삭제합니다

 

 

이제 조회화면을 추가하겠습니다

 

먼저, HomeController에 action을 추가합니다

조회화면은 제일 처음에 나오는 화면이니 이름을 Index로 하죠

 

 

HomeController.cs

...

public ActionResult Index()

{

    return View(TodoList);

}

...

 

  • 할일 목록을 보여줘야 하니 TodoList를 매개변수로 페이지에 넘겨 줍니다

 

 

 

Views/Home 폴더에 Index.cshtml을 생성합니다

 

 

 

Index.cshtml

@model List<TodoListRazor.Models.Todo>

...

<body>

    <div>

        @Html.ActionLink("새 할일", "Create")

        @Html.ActionLink("할일 목록", "Index")

    </div>

    <br />

    할일목록

    <table>

        <tr>

            <th>번호</th>

            <th>내용</th>

            <th></th>

        </tr>

        @foreach (var item in Model) {

            <tr>

                <td>@item.No</td>

                <td>@item.Contents</td>

            </tr>

        }

    </table>

</body>

...

 

 

 

  • 페이지에서 사용할 model을 선언합니다 (action에서 할일 목록을 넘겼습니다)

  • Create.cshtml과 동일하게 ActionLink를 넣습니다

  • 할일목록을 보여줄 table을 생성합니다

  • @foreach를 통해서 출력을 반복할 수 있습니다

  • Model은 action에서 넘어온 model을 의미합니다

 

 

F5를 눌러 화면을 띄워볼까요?

 

 

 

처음에는 이렇게 아무 내용도 없지만

[새 할일] 링크를 눌러 할일을 몇 개 입력하고 [할일 목록]으로 돌아오면 입력한 할일이 나타납니다

 

 

 

 

그런데, 새 할일을 저장한 후에 입력화면이 그대로 유지되니까 답답하죠?

할일 저장후에 할일 목록 화면으로 넘어오도록 수정하겠습니다

 

HomeController.cs

...

[HttpPost]

public ActionResult Create(Todo todo)

{

    todo.No = TodoList.Count > 0 ? TodoList.Max(x => x.No) + 1 : 1;

    TodoList.Add(todo);

    return RedirectToAction("Index");

}

...

 

Index로 Redirect되도록 수정하였습니다

다시 화면을 열어 할일을 입력해 보면 할일 목록화면으로 넘어가는 것을 확인할 수 있습니다

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함