0

在ASP.NET MVC視圖中爲逗號分隔的文本框獲取文章的所有標籤的最佳方式是什麼,編輯它們,單擊保存並添加新/現有或從編輯文章中刪除標籤「編輯「行動? DB Structire是simpliest:實體框架模型綁定/編輯器模板

文章:

ArticleID int 
ArticleTitle varchar(50) 
ArticleTags varchar(MAX) 

標籤:

TagID int 
TagText varchar(20) 

ArticleTag:

ArticleID int PK FK Article.ArticleID 
TagID int PK FK Tag.TagID 

我知道,有幾種方法,如自定義模型粘合劑或編輯模板。但不知道如果我會編寫自定義編輯器模板,然後腳手架,它會從文本框中提取標籤併爲我節省,或者我仍然需要編寫此邏輯。 我不想去與複選框,因爲如果我將有1000個標籤後,它會很難找到正確的標籤,讓文本框(就像在計算器上)是最好的辦法

回答

0
public ActionResult Create(Article article) 
    { 
     if (ModelState.IsValid) 
     { 
      db.Articles.Add(article); 
      db.SaveChanges(); 
      article = db.Articles.Include(x => x.Tags).Where(x => x.ArticleID == article.ArticleID).First(); 
      var Articleedtags = Request["Keywords"].Replace(", ", ",").Split(',').ToList(); 
      Articletags.ForEach(tag => Article.Tags.Add(db.Tags.SingleOrDefault(x => x.Text == tag) ?? db.Tags.Add(new Tag { Text = tag }))); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 
     return View(Article); 
    }