npm的package.json文档的devDependencies部分说明了列出你的测试依赖项,以便你的包的用户不必删除额外的依赖项..npmignore在这种情况下,还添加我的测试目录是否有意义?
我正在尝试使用编辑器模板显示视图模型,该模板在应用基础对象编辑器模板之前将模型包装在字段集中.
我的看法:
@model Mvc3VanillaApplication.Models.ContactModel
@using (Html.BeginForm())
{
@Html.EditorForModel("Fieldset")
}
Run Code Online (Sandbox Code Playgroud)
使用fieldset模板(Views/Shared/EditorTemplates/Fieldset.cshtml):
<fieldset>
<legend>@ViewData.ModelMetadata.DisplayName</legend>
@Html.EditorForModel()
</fieldset>
Run Code Online (Sandbox Code Playgroud)
而这又为所有对象使用基本模板(Views/Shared/EditorTemplates/Object.cshtml):
@foreach (var prop in ViewData.ModelMetadata.Properties.Where(x =>
x.ShowForEdit && !x.IsComplexType && !ViewData.TemplateInfo.Visited(x)))
{
@Html.Label(prop.PropertyName, prop.DisplayName)
@Html.Editor(prop.PropertyName)
}
Run Code Online (Sandbox Code Playgroud)
无论如何,那是我的意图.问题是,当页面使用字段集和图例进行渲染时,不会应用对象模板,因此不会显示任何输入控件.
如果我将视图更改为不指定"Fieldset"模板,则使用Object模板呈现模型的属性,因此不能找到我的Object模板.
是否可以通过多个模板传递相同的模型?
对于它的价值,视图模型如下所示:
namespace Mvc3VanillaApplication.Models
{
[System.ComponentModel.DisplayName("Contact Info")]
public class ContactModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)