我正在尝试实现类似于 SO/Gmail 标签系统的东西:“尝试找到匹配的标签或创建一个新标签”。
我有两个简单的类:
public class Item
{
[Key]
public int ItemId { get; set; }
[Required]
public string Name { get; set; }
public int CategoryId { get; set; }
public virtual Category Tag { get; set; }
}
public class Category
{
[Key]
public int CategoryId { get; set; }
public string Name { get; set; }
}
CategoryController
实现了一个AutoCompleteCategory
返回所有可用类别的 Json 列表的方法:
public JsonResult AutoCompleteCategory(string term)
{
var result = categoryRepository.All.Where(category=> category.Name.ToLower().Contains(term.ToLower())).Distinct();
return Json(result, JsonRequestBehavior.AllowGet);
}
我已经有一个 jquery-Script 将请求发送到该方法并显示匹配项。
现在我的问题:
我需要在_CreateOrEdit
-View 中使用什么来将此编辑字段映射到我的模型?它代表我的类别,但通常我将它绑定到 CategoryId,这是一个简单的键,不是吗?
如果编辑字段包含未知类别,我如何创建它并将其绑定到我的模型?