5

以下のように、モデル ロール用の EditorFor テンプレートがあります。View から直接 EditorFor を使用すると問題なく動作する Date の EditorFor もありますが、エディタ内に EditoFor があると動作しません。何か案が?

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
4

2 に答える 2

1

私にとってもうまくいきません。私はそれがある種の再帰防止保護であると推測しています。

'EditorFor' への外側の呼び出しを代わりに 'Partial' に変更すると、同じ .cshtml ファイルを指していても、内側の 'EditorFor's が機能します。

于 2015-07-16T10:00:28.197 に答える
0

わたしにはできる。

モデル:

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

コントローラ:

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

ビュー ( ~/Views/Home/Index.aspx):

<%: Html.EditorForModel() %>

MyViewModel ( ~/Views/Home/EditorTemplates/MyViewModel.ascx) のエディター テンプレート:

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

DateTime のエディタ テンプレート ( ~/Views/Home/EditorTemplates/DateTime.ascx):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %>
<div>Some markup to edit date</div>
于 2010-10-27T06:36:42.080 に答える