0

在 ASP.NET MVC 视图中获取逗号分隔文本框中文章的所有标签、编辑它们、单击保存并在“编辑”操作中从已编辑文章中添加新/现有或删除标签的最佳方法是什么?DB 结构是最简单的:

文章:

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

标签:

TagID int
TagText varchar(20)

文章标签:

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

我知道有几种方法,例如自定义模型绑定器或编辑器模板。但不确定我是否会编写自定义编辑器模板然后脚手架,它是否会从文本框中提取标签并为我保存,或者我仍然需要编写这个逻辑。我不想使用复选框,因为如果我以后有 1000 个标签,将很难找到正确的标签,所以文本框(如 StackOverflow 上)是最好的方法

4

1 回答 1

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);
    }
于 2013-10-24T08:53:52.640 回答