ASP.NET Core
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
32 个问题
你好,
这个问题很简单,但我仍然困在这里。
我在 Identity\Pages\RazorPageModel.cshtml.cs 中有一个 RazorPageModel,其中发生了这种情况:
public async Task<IActionResult> OnPostAsync() {
...
return RedirectToPage("~/ControllerName/ControllerMethodName", new { info = n });
or
return Redirect("~/ControllerName/ControllerMethodName?info=" + n);
}
我无法进入ControllerMethodName控制器方法并将数据传递到那里。
我以不同的方式尝试过,结果都显示 HTTP ERROR 404崩溃了。
如何从 RazorPageModel 重定向到控制器方法?
谢谢! 注意: 此问题总结整理于:如何从 RazorPageModel 重定向到控制器方法?
你好,
你可以使用RedirectToAction 方法来重定向到控制器方法,参考下面示例代码:
Test.cshtml.cs
位于 Areas\Identity\Pages
:public class TestModel : PageModel
{
public async Task<IActionResult> OnGet()
{
return RedirectToAction("Index","Sales", new { area = "Customer",info = 1234 }); ;
}
}
Index.cshtml
位于 Areas\Customer\Views\Sales
, SalesController
在 Areas\Customer\Controllers
中:[Area("Customer")]
public class SalesController : Controller
{
public IActionResult Index(int info)
{
return View();
}
}
var builder = WebApplication.CreateBuilder(args);
// Add services to the container...
builder.Services.AddControllersWithViews();
builder.Services.AddRazorPages()
var app = builder.Build();
//other middleware....
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllerRoute(
name: "MyArea",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
app.MapRazorPages();
app.Run();
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。