首页 文章

如何重定向到asp.net核心剃刀页面(没有路由)

提问于
浏览
4

这里我有一个razor cs页面:

public IActionResult OnPost(){
  if (!ModelState.IsValid) {
    return Page(); 
  }

  return RedirectToPage('Pages/index.cshtml'); 

}

还有一个cshtml页面:

@page
@using RazorPages

@model IndexModel
<form method="POST">
  <input type="submit" id="Submit">
</form>

我想在表单提交时重定向到同一页面,但我一直收到400错误 . 是否可以在不使用路由的情况下进行重定向,只需转到url中的cshtml文件即可?

2 回答

  • 2

    试试这个;

    @using (Html.BeginForm())
    {
       <input type="submit" id="Submit">
    }
    
  • 3

    看看MS页面https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages/?tabs=visual-studio

    URL路径与页面的关联由页面在文件系统中的位置决定 . 下表显示了Razor页面路径和匹配的URL:文件名和路径匹配URL

    /Pages/Index.cshtml /或/ Index /Pages/Contact.cshtml / Contact /Pages/Store/Contact.cshtml / Store / Contact /Pages/Store/Index.cshtml / Store或/ Store / Index

    页面的URL生成支持相对名称 . 下表显示了使用Pages / Customers / Create.cshtml中的不同RedirectToPage参数选择的索引页面:

    RedirectToPage(x)页面RedirectToPage(“/ Index”)Pages / Index RedirectToPage(“./ Index”); Pages / Customers / Index RedirectToPage(“../ Index”)Pages / Index RedirectToPage(“Index”)Pages / Customers / Index

相关问题