3
다음 코드는 스캐 폴딩을 사용하여 생성되었으며 IDJefe는 데이터베이스의 int이지만 최종 사용자가 comboBox에서 이름을 선택하도록합니다.ASP.Net MVC 2 스캐 폴딩을 사용하여 편집 양식 만들기
어떻게하면됩니까?
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SeguimientoDocente.Area>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
UTEPSA | Editando Area
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Editando Area: <%: Model.Nombre %></h2>
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>Informacion Detallada de Area | <%: Model.Nombre %></legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.Nombre) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Nombre) %>
<%: Html.ValidationMessageFor(model => model.Nombre) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.IDJefe) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.IDJefe) %>
<%: Html.ValidationMessageFor(model => model.IDJefe) %>
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink("Volver a Listado General", "Index") %>
</div>
</asp:Content>
나는 다음을 시도하지 않았다.
<%: Html.DropDownList(Model.Jefes???? %>
나는 이와 비슷한 것을 할 수 있지만, 이렇게 단순한 새로운 객체를 만드는 것은 낭비되는 것처럼 보입니다.
public ActionResult Edit(int id)
{
Area area = areaRepository.GetArea(id);
JefeRepository jefe = new JefeRepository();
ViewData["Jefes"] = new SelectList(jefe.FindAllJefes(), area.Jefe.Nombre);
return View(area);
}
더 좋은 방법이 있습니까?
: 는 해당 뷰를 호출하는 데이터 주석을 사용하여 다음 부분 뷰를 생성하고 포함 어떤 종류의 데이터 소스에서 가져온 정보가 아닌 정적 정보의 드롭 다운. –
마지막 예제를 보셨습니까? 위의 편집을 참조하십시오. –