2010-10-26 43 views
5

Tôi có một mẫu EditorFor cho một Vai trò mô hình như sau. Tôi cũng có EditorFor cho ngày mà hoạt động tốt khi tôi sử dụng EditorFor trực tiếp từ Xem nhưng khi tôi có EditoFor bên trong một trình soạn thảo cho nó không hoạt động. Bất kỳ ý tưởng?Trình soạn thảo MVCĐối với bên trong Một trình soạn thảo khácCho

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

Bạn cũng có thể đăng mẫu khác, mẫu ngày và đoạn mã của mô hình không? –

Trả lời

0

Nó phù hợp với tôi.

mẫu:

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

Bộ điều khiển:

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

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

<%: Html.EditorForModel() %> 

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

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

mẫu Editor cho DateTime (~/Views/Home/EditorTemplates/DateTime.ascx):

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

Nó không làm việc cho tôi, hoặc; Tôi cho rằng đó là một loại bảo vệ chống đệ quy.

Nếu bạn thay đổi cuộc gọi bên ngoài thành 'EditorFor' thành 'Partial' - thậm chí chỉ vào cùng một tệp .cshtml - bên trong 'EditorFor's sẽ hoạt động.

Các vấn đề liên quan