Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP MVC 5 Html.Editor不工作/无法访问/使用默认编辑器模板_C#_Asp.net Mvc_Asp.net Mvc 4_Razor_Asp.net Mvc 5.1 - Fatal编程技术网

C# ASP MVC 5 Html.Editor不工作/无法访问/使用默认编辑器模板

C# ASP MVC 5 Html.Editor不工作/无法访问/使用默认编辑器模板,c#,asp.net-mvc,asp.net-mvc-4,razor,asp.net-mvc-5.1,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,Asp.net Mvc 5.1,尝试访问/使用MVC5中的默认编辑器模板时 我收到错误消息: 传入字典的模型项的类型为“System.String”, 但此词典需要类型为的模型项 'MvcContrib.UI.InputBuilder.Views.PropertyViewModel'1[System.Object]' 为什么会发生这种情况? 一些背景: 我的模型(TestModel.cs): 名称空间MyTest.Web.Controllers.Models { 公共类测试模型 { 公共测试模型() { Name=“Fred”

尝试访问/使用MVC5中的默认编辑器模板时

我收到错误消息:

传入字典的模型项的类型为“System.String”, 但此词典需要类型为的模型项 'MvcContrib.UI.InputBuilder.Views.PropertyViewModel'1[System.Object]'

为什么会发生这种情况?

一些背景:

我的模型(TestModel.cs):

名称空间MyTest.Web.Controllers.Models
{
公共类测试模型
{
公共测试模型()
{
Name=“Fred”;
}
公共字符串名称{get;set;}
}
}
我的控制器(MyTestController.cs):

名称空间MyTest.Web.Controllers
{
公共类MyTestController:控制器
{
[HttpGet]
公共行动结果索引()
{
TestModel testData=新的TestModel();
返回视图(testData);
}
...
}
}
我的视图(Index.cshtml):

@model MyTest.Web.Controllers.Models.TestModel
@{
ViewBag.Title=“MyTest”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
试验
@使用(Html.BeginForm(“ProcessResults”、“MyTest”、FormMethod.Post))
{ 
姓名:
@EditorFor(x=>x.Name)
}
错误发生在以下行中

@Html.EditorFor(x=>x.Name)
视图将不会渲染

我尝试过的事情:

  • 来自“”的示例和此示例工作正常
  • 如果我在
    ~/Views/Shared/EditorTemplates/Name.cshtml
    下添加一个自定义编辑器模板,并调用
    @Html.EditorFor(x=>x.Name,“Name”)
    ,则页面呈现
  • 如果我将代码更改为
    @Html.TextBoxFor(x=>x.Name,“Name”)
    ,那么页面将呈现
最后,该解决方案具有System.Web.Mvc程序集(应该包含默认编辑器模板)


我遗漏了什么?

这对我来说很有用,尽管我必须删除名称空间以使其在dotnetfiddle中轻松工作:我的初始测试是将您的名称空间导入razor web.config(~/Views/web.config)。在这里可以看到Javad的回答:是的,我可以看到修改后的示例是有效的。它确实证实了该准则是合理的。但是,这无助于回答我为什么要列出错误。您建议导入哪个名称空间?模型名称空间?我问这个问题是因为我在指定model时完全限定了视图中的名称空间。是的,我会尝试model one。遗憾的是,这不起作用。
<div style="display:inline;">@Html.EditorFor(x => x.Name)</div>