私はこのクラスを持っています:
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>(); }
}
createsection ビューでは、スペースまたはその他の文字で区切られたタグを含む文字列をコントローラーに送信し、この文字列を次のようなリストに分割します。
[Authorize]
[HttpPost]
[InitializeSimpleMembership]
public ActionResult CreerSection(Section section, string tags)
{
if (ModelState.IsValid)
{
//section.Id = WebSecurity.GetUserId(User.Identity.Name);
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
section.Tag = tags.Split(delimiterChars).ToList();
_db.Entry(section).State = EntityState.Added;
_db.SaveChanges();
return RedirectToAction("Index" );
}
return View();
}
「section.Tag =" 行の横にブレーク ポイントを置いたところ、タグ リストに createview から送信されたすべてのタグ (つまり、「tag1」「tag2」「tag3」) が含まれていることに気付きました。ここまで完璧...
次に、別のビューであるセクション ビューで、すべてのセクション タグを表示したい場合、タグ リストは 0 に等しく、「tag1」、「tag2」、および「tag3」という値が含まれていません。なぜですか?
@model Mocodis.Models.Section
@foreach (string s in Model.Tag)
{
<p>@s</p>
}
ありがとうございました