MVC添加View找不到404

时间:2015-06-11 20:30:05

标签: c# asp.net-mvc razor

我想复制DETAILS以制作第二个详细信息页面。我点击Views下的文件夹,add..new item ..在搜索中输入.cshtml然后选择MVC View Page(Razor),将其命名为R3,Add。

它打开了基本的html框架,并说@ {layout = null}?好吧我打开详细信息,选择全部,复制并粘贴在R3中。保存。跑。错误:

  

' /'中的服务器错误应用

     

无法找到资源。

     

描述:HTTP 404.您正在寻找的资源(或其中一个   依赖项)可能已被删除,其名称已更改,或者是   暂时不可用。请查看以下网址并制作   确保它拼写正确。

好的

  

HTTP错误400.0 - 错误请求错误请求

put / Details / 1有时它有效。

这是MVC的限制吗?您无法直接显示详细信息页面?

3 个答案:

答案 0 :(得分:10)

记住这是MVC。请求进入控制器,执行操作并在视图中显示结果。您创建了一个新的视图文件,但控制器中没有引用。

默认路由机制查找控制器,然后查找控制器中的操作以完成请求。您应该创建一个名为R3的操作,其代码与操作详细信息相同,然后重试。

答案 1 :(得分:1)

听起来你没有责任填充要显示的R3所需的模型。

如果您复制Details操作并将其重命名为R3,则应该有效。

答案 2 :(得分:0)

jfeston帮助了我一点。但是,我的控制器中有该方法,但[HttpPost]作为方法标题的一部分。我需要使用[HttpPost]创建另一个方法来接受来自新视图的请求。

所以...

[AllowAnonymous] // this is a login page; there is no auth yet
public ActionResult Login()
{
    // do stuff here
}

[AllowAnonymous]  
[HttpPost]  // this accepts the request from the view
public ActionResult Login(User user, string returnURL)
{
    // do stuff here
}