gpt4 book ai didi

asp.net-mvc - MVC4 RedirectToAction 返回 HTTP 404

转载 作者:行者123 更新时间:2023-12-03 20:26:07 36 4
gpt4 key购买 nike

我的 RedirectToAction 返回 HTTP 404,除了 Controller 、操作和 View 都在那里,拼写正确且大写正确。我在 SubscriberController 中,我想调用 CreateTestController 中的操作。

这是我的初始网址:

http://www.localdomain.com/Subscriber/AuthUser

这将启动包含多个表单的页面,下面是我用于此调用的表单:

<form id="btnform7" action="LaunchTestPortal" method="post">
<input name="__RequestVerificationToken" id="antiforge7" type="hidden" value="rzTdAi...aj501">
<button title="Create, Edit or Review Training" class="ui...active" id="btnLaunchTestPortal" role="button" style="width: 13em; height: 22px; margin-bottom: 10px;" type="submit">
<span class="ui-text-only">Create, Edit or Review Training</span>
</button>
</form>

这成功地调用了 SubscriberController 中的这个方法

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LaunchTestPortal()
{
return RedirectToAction("CreateTestPortal", "CreateTest");
}

这是我想在CreateTestController中调用的方法

[HttpPost]
[ValidateAntiForgeryToken]
public ViewResult CreateTestPortal()
{
...
}

调用后,这是它返回的地址 http://www.localdomain.com/CreateTest/CreateTestPortal

除了页面结果是 HTTP 404 not found。所有的零件都在那里。它只是在 controllerA 中的重定向不会调用 controllerB 中的方法

最佳答案

我对我的修改做了评论,方便大家学习。

public class SubscriberController : Controller
{
//
// GET: /Subscriber/
public ActionResult AuthUser()
{
return View();
}

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LaunchTestPortal()
{
return RedirectToAction("CreateTestPortal", "CreateTest");
}
}

public class CreateTestController : Controller
{
//removed two attributes
public ViewResult CreateTestPortal()
{
var ap = "dh";
return View();
}
}

AuthUser.cshtml

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>AuthUser</title>
</head>
<body>
@*added Subscriber below*@
<form id="btnform7" action="/Subscriber/LaunchTestPortal" method="post">
@*changing next line*@
@Html.AntiForgeryToken()
@*<input name="__RequestVerificationToken" id="antiforge7" type="hidden" value="rzTdAi...aj501">*@
<button title="Create, Edit or Review Training" class="ui...active" id="btnLaunchTestPortal" role="button" style="width: 13em; height: 22px; margin-bottom: 10px;" type="submit">
<span class="ui-text-only">Create, Edit or Review Training</span>
</button>
</form>
</body>
</html>

创建测试门户.cshtml

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>CreateTestPortal</title>
</head>
<body>
<div>
</div>
</body>
</html>

关于asp.net-mvc - MVC4 RedirectToAction 返回 HTTP 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19689714/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com