edit가 조금 어렵다.
먼저, edit화면이다.
컨틀로러 먼저
public ActionResult Edit(string id)
{
var student = (from row in _db.student
where row.hakbun == id
select row).FirstOrDefault();
return View(student);
}
그러고, Create 카피해서 Edit만들고
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcBasic1.Models.student>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
학생정보 수정
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<b><%= ViewData["errinfo"] %></b>
<h2>학생정보 수정</h2>
<%= Html.ValidationSummary("수정에 실패했습니다. 에러가 발생한 곳에서 다시 입력해 주세요") %>
<%--<% using (Html.BeginForm()) {%>--%>
<% using (Html.BeginForm()) {%>
<%--<%=Html.AntiForgeryToken() %>--%>
<fieldset>
<legend>학생 정보</legend>
<p>
<label for="hakbun">학번:</label>
<%= Html.Encode(Model.hakbun) %>
</p>
<p>
<label for="name">이름:</label>
<%= Html.TextBox("name", Model.name)%>
<%= Html.ValidationMessage("name", "*")%>
</p>
<p>
<label for="email">전화:</label>
<%= Html.TextBox("phone", Model.phone)%>
<%= Html.ValidationMessage("phone", "*")%>
</p>
<p>
<label for="birth">주소:</label>
<%= Html.TextBox("addr", Model.addr)%>
<%= Html.ValidationMessage("addr", "*")%>
</p>
<p>
<input type="submit" value="갱신" />
</p>
</fieldset>
<% } %>
<div>
<%=Html.ActionLink("일람으로", "Index") %>
</div>
</asp:Content>
그리고
[HttpPost]
public ActionResult Edit(string id, FormCollection collection)
{
try
{
var student = (from row in _db.student
where row.hakbun == id
select row).FirstOrDefault();
UpdateModel(student);
_db.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
여기서 UpdateModel이라는 게 잘 이해가 안되지만, 그냥 그대로 쓰자!
'asp.net' 카테고리의 다른 글
| Create(추가): 데이터 어노테이션 전까지... (0) | 2013.07.16 |
|---|---|
| 상세화면(Details) (0) | 2013.07.16 |
| CNN World News (0) | 2013.04.26 |
| XMLDataSource이용하기 (0) | 2013.04.26 |
| GLOBAL.ASAX (0) | 2013.04.23 |