我正在尝试使用EF获取MVC 5中对象列表的模板。
我没有获得我提供的模板,而是获得了“Class”的toString(模型中的一个优势)
我到处看了一眼,没有找到任何帮助我。
任何帮助将不胜感激!
我得到的是:
级别这是该类的该死的ToString
我有以下内容:
ClassSpellLevelPair.cshtml(尝试将其放在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; }
}
编辑:为ClassSpellLevelPair.cshtml添加了文件夹数据
答案 0 :(得分:1)
发现&#34; EditorTemplates&#34;文件夹实际上是&#34;共享\编辑模板&#34;
如此明显,整整花了6个小时谷歌。