小编Eri*_*ock的帖子

在npm包中排除测试代码?

npm的package.json文档的devDependencies部分说明了列出你的测试依赖项,以便你的包的用户不必删除额外的依赖项..npmignore在这种情况下,还添加我的测试目录是否有意义?

node.js npm

33
推荐指数
3
解决办法
2万
查看次数

一个模型可以通过多个编辑器模板传递吗?

我正在尝试使用编辑器模板显示视图模型,该模板在应用基础对象编辑器模板之前将模型包装在字段集中.

我的看法:

@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)

asp.net-mvc razor

6
推荐指数
1
解决办法
2037
查看次数

标签 统计

asp.net-mvc ×1

node.js ×1

npm ×1

razor ×1