Asp.net mvc 字符串列表不保存值并保持为空

Asp.net mvc 字符串列表不保存值并保持为空,asp.net-mvc,string,list,initialization,Asp.net Mvc,String,List,Initialization,我有这门课: public class Section { [Key] public int SectionId { get; set; } public string Titre { get; set; } public virtual List<String> Tag { get; set; } public virtual ICollection<Ressource> Ressources { get; set; }

我有这门课:

 public class Section
{
    [Key]
    public int SectionId { get; set; }
    public string Titre { get; set; }
    public virtual List<String> Tag { get; set; }

    public virtual ICollection<Ressource> Ressources { get; set; }
    public Section() { this.Tag=new List<string>(); }
}
我在“section.Tag=”行旁边放了一个断点,我注意到标记列表现在包含了从createview发送的所有标记(即:“tag1”“tag2”“tag3”)。完美到目前为止

然后在另一个视图中,截面视图中,当我想显示所有截面标记时,标记列表等于0,并且不包含值“tag1”、“tag2”和“tag3”为什么

@model Mocodis.Models.Section
@foreach(Model.Tag中的字符串s)
{
@

}

谢谢

如果对象是新的,我宁愿调用dbSet.add方法;如果对象已经存在,我宁愿调用dbSet.attach方法。像这样

_dbset.Add(entity); //object is new (create)
_context.SaveChanges();

我想你用的是EF。顺便说一句,你为什么要使用“虚拟列表标签”。如何将其保存到数据库中?在另一张桌子上?您是否已检查是否已将日期添加到表中


Kr

实际上它没有保存到数据库中,我认为没有必要。。。但我认为它不起作用,因为列表标签与该部分没有关联,每次我调用列表时,我都会得到一个新的列表,这就是为什么它总是空的。。。为了解决这个问题,我将数据库中的标记作为字符串(包含由空格分隔的所有标记)属性集成到Section表中。当我想要得到标签列表时,我使用一个函数来分割字符串并将标签放入列表中。是的,我用的是EF。谢谢确实,要将标记持久化为字符串,需要将它们保存在数据库中。无论何时调用对象,都可以访问保存的数据。
@model Mocodis.Models.Section
@foreach (string s in Model.Tag)
{
    <p>@s</p>
}
_dbset.Add(entity); //object is new (create)
_context.SaveChanges();
_dbset.Attach(entity); //object already exists in the dbset (update/modify)
_context.Entry(entity).State = EntityState.Modified;
_context.SaveChanges();