Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何首先将带有编辑器模板的复杂属性列表发布到控制器数据库_C#_Asp.net Mvc_Entity Framework_Asp.net Mvc 5 - Fatal编程技术网

C# 如何首先将带有编辑器模板的复杂属性列表发布到控制器数据库

C# 如何首先将带有编辑器模板的复杂属性列表发布到控制器数据库,c#,asp.net-mvc,entity-framework,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,我必须为家庭作业创建一个notes应用程序,它应该包含一个标签列表作为属性的notes。我生成的Notes对象如下所示: public partial class Note { public Note() { this.Tags = new HashSet<Tag>(); } public int Id { get; set; } public string Title { get; set; } public str

我必须为家庭作业创建一个notes应用程序,它应该包含一个标签列表作为属性的notes。我生成的Notes对象如下所示:

public partial class Note
{
    public Note()
    {
        this.Tags = new HashSet<Tag>();
    }

    public int Id { get; set; }
    public string Title { get; set; }
    public string Text { get; set; }
    public string Author { get; set; }
    public string Mail { get; set; }

    public virtual ICollection<Tag> Tags { get; set; }
}
公共部分类注释
{
公共说明()
{
this.Tags=newhashset();
}
公共int Id{get;set;}
公共字符串标题{get;set;}
公共字符串文本{get;set;}
公共字符串作者{get;set;}
公共字符串邮件{get;set;}
公共虚拟ICollection标记{get;set;}
}
我还有一个生成的标记对象:

public partial class Tag
{
    public Tag()
    {
        this.Notes = new HashSet<Note>();
    }

    public int Id { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Note> Notes { get; set; }
}
公共部分类标记
{
公共标签()
{
this.Notes=new HashSet();
}
公共int Id{get;set;}
公共字符串名称{get;set;}
公共虚拟ICollection注释{get;set;}
}
这是通过多对多关系完成的,我没有NoteTags的实体,只有一个数据库表。 现在,我如何让用户能够编辑注释的标记? 例如,我已经尝试了很多方法,但对我来说不起作用,因为我必须编辑生成的模型

Idk如果这有助于了解我的情况,下面是我的editortemplate tag.cshtml:

@model IEnumerable<CRUDApp.Models.Tag>

@foreach (var item in Model)
{
    @Html.EditorFor(modelItem => item.Name)<br />
}
@model IEnumerable
@foreach(模型中的var项目)
{
@Html.EditorFor(modeleItem=>item.Name)
}

每当我在编辑模式下发布表单时,Note对象中的标记都将为空。

假设您希望动态添加/删除“Note”中的
Tag
,请参考答案和一些选项,并且您不能使用
foreach
循环为集合生成表单控件。对于
循环,您需要
,对于
标记的类型,您需要自定义
编辑器或模板
-有关更多解释,请参阅每当我尝试通过索引器访问标记时,我都会收到一个错误,即这是不可能的。是否有解决方法?因为您的集合属性需要实现
IList
-一如既往,请使用视图模型。