我正在學習 .NET,我試圖從一個沒有標簽助手的簡單表單中傳遞資料,但該表單不起作用,我不知道為什么。很簡單,一個索引檔案
@page
@model WebApplication1.Pages.IndexModel
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Home</title>
</head>
<body>
<form class="form-container" method="post">
<input type="text" class="input-item" placeholder="Your First Name" name="FirstName">
<input type="text" class="input-item" placeholder="Your Last Name" name="LastName">
<input type="submit" value="Submit">
</form>
它的型號
namespace WebApplication1.Pages
{
public class IndexModel : PageModel
{
[BindProperty]
public InputModel Input { get; set; }
public void OnGet()
{
}
public IActionResult OnPost()
{
return RedirectToPage("Success");
}
public class InputModel
{
public string FirstName { get; set; }
public string LastName{ get; set; }
}
}
}
當它點擊 post 方法時,它應該重定向到頁面 Success。
uj5u.com熱心網友回復:
Razor Pages 中的 400 狀態代碼通常是請求驗證檢查失敗的結果。當方法設定為 post 時,表單標簽助手會在隱藏欄位中生成驗證碼。如果您禁用了標簽助手(或根本沒有啟用它們),您可以通過包含來生成令牌
@Html.AntiForgeryToken()
表格內。或者,您可以通過向IgnoreAntiforgeryTokenPageModel 類添加 來禁用請求驗證:
[IgnoreAntiforgeryToken(Order = 1001)]
public class IndexModel : PageModel
uj5u.com熱心網友回復:
<form method="post" class="login-form">
<div class="form-group">
<div class="icon d-flex align-items-center justify-content-center"><span
class="fa fa-user"></span></div>
<input type="text" class="form-control" asp-for="FirstName" placeholder="FirstName"
required>
</div>
<div class="form-group">
<div class="icon d-flex align-items-center justify-content-center"><span
class="fa fa-lock"></span></div>
<input type="password" class="form-control" asp-for="LastName"
placeholder="LastName" required>
</div>
<div class="form-group">
<button type="submit" id="submitBtn"
class="btn form-control btn-primary rounded submit px-3">Go!</button>
</div>
</form>
//Login.cshtml.cs
[BindProperty]
public string FirstName { get; set; }
[BindProperty]
public string LastName { get; set; }
public async Task<IActionResult> OnPostAsync()
{
LoginRequest request = new LoginRequest
{
FirstName = FirstName,
LastName = LastName,
};
.
.
.
if (..)
{
return RedirectToPage("./Home");
}
return Page();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/383129.html
上一篇:在一行中形成兩個文本欄位
