2010-10-26 5 views
5

Tengo un Editor para Plantilla para una función de modelo como a continuación. También tengo EditorFor for Date que funciona bien cuando uso EditorFor directamente desde View pero cuando tengo EditoFor dentro de un editor no funciona. ¿Alguna idea?MVC EditorPara dentro de Otro editorPara

Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl[ucsrManagementSystem.Models.ContactsInMailingListsViewModel]" 

Html.EditorFor(m => m.IsInMainlingList) 
Html.EditorFor(m => m.Id) 
Html.EditorFor(m => m.Name) 
Html.EditorFor(m => m.EndDate)//This is not showing Date's Editor Template when inside another EditorFor 
+0

¿Podría publicar también la otra plantilla, la plantilla de fecha y un fragmento del modelo? –

Respuesta

0

Funciona para mí.

Modelo:

public class MyViewModel 
{ 
    public DateTime Date { get; set; } 
} 

controlador:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(new MyViewModel 
     { 
      Date = DateTime.Now 
     }); 
    } 
} 

Ver (~/Views/Home/Index.aspx): plantilla

<%: Html.EditorForModel() %> 

Editor de MyViewModel (~/Views/Home/EditorTemplates/MyViewModel.ascx):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Models.MyViewModel>" %> 
<%: Html.EditorFor(x => x.Date) %> 

editor de plantillas para DateTime (~/Views/Home/EditorTemplates/DateTime.ascx):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %> 
<div>Some markup to edit date</div> 
1

No funciona para mí tampoco; Supongo que es algún tipo de protección anti-recursión.

Si cambia la llamada externa a 'EditorPara' a 'Parcial' en su lugar, incluso apuntando al mismo archivo .cshtml, el 'EditorPara' interno funcionará.

Cuestiones relacionadas