我为创建,编辑,删除创建了视图。我正在使用编辑器模板在视图中显示一个下拉列表,其中包含模板中的选项。
在我的观看(创建和编辑):
<%: Html.EditorFor(model => model.Name) %>
//This is dropdown getting list from template.
问题:编辑视图上不显示名称字段。
模板文件(NameDropDown.ascx)看起来像..
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl"%>
<%= Html.DropDownList(
"",
new SelectList(
new SelectListItem[]
{
new SelectListItem { Value = "", Text = "" , Selected = true},
new SelectListItem { Value = "Mark", Text = "Mark" },
new SelectListItem { Value = "Jim", Text = "Jim" },
new SelectListItem { Value = "Jason", Text = "Jason" }
},
"Value",
"Text",
Model
)
) %>
在模型类中我有..
[UIHint("NameDropDown")]
public string Name { get; set; }
在创建视图中 - 名称下拉列表正确呈现,我可以选择一个值并保存到数据库。当我返回到我的列表视图并单击编辑时,编辑视图不会显示数据库中的名称值。 (DB在表中有名称值。)
答案 0 :(得分:0)
您的模板中似乎缺少模型类型(字符串):
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl"%>
将其更改为:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>"%>
我刚刚进行了本地测试,效果很好。