2010-07-28 4 views
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); 
     } 

더 좋은 방법이 있습니까?

답변

0

편집기 템플릿을 살펴볼 수 있습니다. 여기에 당신이 원하는 것과 비슷한 소리 예입니다

http://blogs.msdn.com/b/nunos/archive/2010/02/08/quick-tips-about-asp-net-mvc-editor-templates.aspx

편집 : 그는 만들 것

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %> 
<%= Html.DropDownList("",new SelectList((string[]) ViewData["Ratings"],Model)) %> 
+0

: 는 해당 뷰를 호출하는 데이터 주석을 사용하여 다음 부분 뷰를 생성하고 포함 어떤 종류의 데이터 소스에서 가져온 정보가 아닌 정적 정보의 드롭 다운. –

+1

마지막 예제를 보셨습니까? 위의 편집을 참조하십시오. –

관련 문제