【发布时间】:2015-11-18 10:36:32
【问题描述】:
我是 MVC 新手,当我尝试将按钮插入表格时遇到这个令人沮丧的错误。
我在 EditorTemplates 中有我的 .cshtml ViewModel:
@model EditorForSample.Models.ProductViewModel
<tr>
<td>@Html.CheckBoxFor(m => m.Selected)</td>
<td colspan="1">
@Model.Name
@Html.HiddenFor(m => m.Name)
</td>
<td>
@Model.Password
@Html.HiddenFor(m => m.Password)
</td>
<td>
@Html.RadioButtonFor(e => e.Locked, true)</td>
<td>
@Html.RadioButtonFor(e => e.Locked, false)</td>
</tr>
对于模型:
public class ProductViewModel
{
public bool Selected{ get; set; }
public string Name { get; set; }
public string Password { get; set; }
public bool Locked { get; set; }
}
我在 .cshtml 中收到 404 错误,即使我无法确定语法错误的原因。
编辑:好的,事实证明,当我手动更改 URL 时,上述内容确实有效,而我的问题是路由自行随机更改并尝试重定向到模型视图 CSHTML。
【问题讨论】:
-
View Model 的 @model EditorForSample.Models.ProductViewModel 命名空间是否正确?此外,如果文件夹结构中的控制器名称 FooController 和控制器操作 FooAction 应该有 Views 文件夹(从根目录),则 Views 应该有 Foo 文件夹,如果默认应该有 cshtml FooAction.cshtml
-
是的。它工作正常,除非我添加单选按钮行。然后一切都结束了。
-
404 是未找到错误。与你的看法无关。您在某处调用不存在的方法(可能是链接)。
-
我已经阅读了那个答案。没有帮助。缺少的文件是 /Views/Home/EditorTemplates/ProductViewModel.cshtml。
标签: html asp.net-mvc-4 model-view-controller