首页 > 解决方案 > 在 EF Core/Razor Pages 中实现主题标签功能的最佳方法是什么?

问题描述

我正在尝试将 hasthags 实现到应用程序中。我已经配置了数据库,甚至还有我希望表单看起来如何的布局,但是我不确定是否可以用 Razor 页面做我想做的事情。我有以下课程:

public class Person
{
    public int PersonId { get; set; }
    public string FirstName { get; set; }
    public string LastName{ get; set; }

    public IList<PersonTag> PersonTags { get; set; }
}

public class Tag 
{
    public int TagId { get; set; }
    public string TagName { get; set; }

    public IList<PersonTag> PersonTags { get; set; }
}

public class PersonTag
{
    public int PersonTagId { get; set; }

    public int PersonId { get; set; }
    public Person Person { get; set; }

    public int TagId { get; set; }
    public Tag Tag { get; set; }
}

并且希望表单看起来像这样,您在编辑Person. 您可以通过在输入框中输入来添加一个新的主题标签——在此处输入(或按下按钮——未图示)将在Tag表格中创建标签,并与正在编辑的对象创建新PersonTag关系,该关系Person将被保存关于表单提交。我想Tag如果这更简单的话,也可以在表单提交时创建。单击其中一个标签上的“x”也应该删除 PersonTag 关系

在此处输入图像描述

剃刀页面可以做到这一点吗?到目前为止,我只做过更简单的输入(单个值或选择列表),但在这种情况下,我需要用户可以选择多次输入自由文本。我需要什么样的输入?或者我需要做完全特殊的处理来提取表单提交的数据,并在用户添加标签时使用 Javascript 填充标签?

标签: asp.net-core.net-coreentity-framework-corerazor-pages

解决方案


推荐阅读