2010-10-26 3 views
5

Ho un modello EditorFor per un ruolo modello come di seguito. Ho anche EditorFor per Data che funziona bene quando uso EditorFor direttamente da View ma quando ho EditoFor all'interno di un editor non funziona. Qualche idea?MVC EditorFor inside Another EditorFor

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

Potresti pubblicare anche l'altro modello, il modello di data e uno snippet del modello? –

risposta

0

Funziona per me.

Modello:

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

Controller:

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

View (~/Views/Home/Index.aspx): Modello

<%: Html.EditorForModel() %> 

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

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

editor di modelli per DateTime (~/Views/Home/EditorTemplates/DateTime.ascx):

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

Non funziona neanche per me; Presumo che si tratti di una sorta di protezione anti-ricorsione.

Se si cambia la chiamata esterna a "EditorFor" in "Parziale", anche se si punta allo stesso file .cshtml, l'interno di "EditorFor funzionerà".