我正在尝试用EF为MVC 5中的对象列表获取一个模板。
我没有得到我提供的模板,而是得到了"Class"(模型中的一个proerties)的toString
我到处找都找不到任何帮助。
任何帮助都将不胜感激!
我得到的是:
Levels这是类该死的ToString
我有以下内容:
ClassSpellLevelPair.chtml(试图将其放入Shared、EditorTemplates和带有Create.cshtml的文件夹中):
@model Analyzer.Models.ClassSpellLevelPair
<div>
@Html.HiddenFor(m => m.Id)
@Html.LabelFor(model => model.Class.Name)
@Html.ValueFor(model => model.SpellLevel)
</div>
在create.cshtml:中
<div class="form-group">
@Html.LabelFor(m => m.Levels, new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.EditorFor(m => m.Levels, "ClassSpellLevelPair")
</div>
<div>
型号有:
public class Spell : Entity
{
...
[Display(Name = "Levels")]
public virtual ICollection<ClassSpellLevelPair> Levels { get; set; }
...
}
public class ClassSpellLevelPair : Entity
{
public ClassSpellLevelPair()
{
}
public ClassSpellLevelPair(Class c, int? l = null)
{
Class = c;
SpellLevel = l;
}
public Class Class { get; set; }
public int? SpellLevel { get; set; }
}
public class Entity
{
public Entity()
{
Id = Guid.NewGuid();
}
[Key]
public Guid Id { get; set; }
}
edit:为ClassSpellLevelPair.chtml 添加了文件夹数据
发现"EditorTemplates"文件夹实际上是"Shared\EditorTemplates"
显而易见,谷歌搜索总共花了6个小时。