【发布时间】:2021-01-08 18:52:06
【问题描述】:
在我的项目中,用户可以在他们想要存储的视频的数据库中添加一个条目。该视频应该有多个标签(可选)。有什么好办法让用户动态输入多个标签?
我已经创建了三个模型,Video、Tag 和 VideoTags,它保存了每个视频的标签的 m2m 关系。
视频
public class Video: BaseModel
{
public string Name { get; set; }
public string OriginUrl { get; set; }
public string Description { get; set; }
public string FileLocationIcon { get; set; }
public ICollection<VideoTags> VideoTags { get; set; }
}
标签
public class Tag: BaseModel
{
public string TagName { get; set; }
public ICollection<VideoTags> VideoTags { get; set; }
}
视频标签
public class VideoTags
{
public string VideoId { get; set; }
public Video Video { get; set; }
public string TagId { get; set; }
public Tag Tag { get; set; }
}
我的 html (Create.cshtml)
<div class="col-md-4">
<form asp-action="Create" enctype="multipart/form-data" method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="OriginalUrl" class="control-label"></label>
<input asp-for="OriginalUrl" class="form-control" />
<span asp-validation-for="OriginalUrl" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Description" class="control-label"></label>
<textarea asp-for="Description" class="form-control"> </textarea>
<span asp-validation-for="Description" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Icon" class="control-label"></label>
<input type="file" asp-for="Icon" class="form-control" accept="image/x-png,image/gif,image/jpeg" />
<span asp-validation-for="Icon" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
现在,我的问题是如何在用户提供视频条目的其他详细信息的 html 表单上正确实现这一点?
我认为这将涉及JQuery,但我真的不知道如何进行。用户应该添加这些标签,所以我希望他们能够在需要时添加输入字段,然后在提交到后端时,我的 Controller 将接受该输入并将其转换为 IEnumerable 或 List .
【问题讨论】:
标签: c# jquery asp.net-core-mvc