我想复制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的限制吗?您无法直接显示详细信息页面?
答案 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
}