asp.net-core - 在 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 填充标签?
解决方案
推荐阅读
- angular - 如何在angular4中隐藏Html表格
- node.js - 无法在 Angular 项目中使用 rxjs 的 map 运算符
- zurb-foundation-6 - 从头开始创建新项目时,浏览器错误“基础不是功能”
- javascript - 基于条件JS的数组操作
- mongodb - 如何根据`parent`字段获取数据
- mybatis - HSQL 中的条件插入失败
- objective-c - Swift 泛型有线语法确实有效,但可以用不同的方式编写吗?
- google-earth-engine - 如何从 Google Earth Engine FeatureCollection 可视化给定纬度/经度点和给定像素分辨率的值?
- mysql - MySql 访问冲突不在 YEAR MONTH 和 MAX 组中
- javascript - TypeScript - 如何使用数组映射到 ES 6 映射?