在ASP.NET MVC中處理表單提交涉及幾個關鍵步驟。下面是一個簡單的示例,說明如何使用ASP.NET MVC處理表單提交。
User
類:public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
Register
的視圖。在Views/Account
文件夾中創建Register.cshtml
文件,并添加以下內容:@model YourNamespace.Models.User
@{
ViewBag.Title = "Register";
}
<h2>Register</h2>
@using (Html.BeginForm("Register", "Account", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
<p>
<input type="submit" value="Register" />
</p>
}
Controllers/AccountController.cs
文件中,添加以下代碼:using System.Web.Mvc;
using YourNamespace.Models;
public class AccountController : Controller
{
//
// GET: /Account/Register
public ActionResult Register()
{
return View();
}
//
// POST: /Account/Register
[HttpPost]
public ActionResult Register(User user)
{
if (ModelState.IsValid)
{
// 在這里處理用戶注冊邏輯,例如保存到數據庫
// ...
// 注冊成功,重定向到其他頁面或返回視圖
return RedirectToAction("Index");
}
// 如果模型狀態無效,返回視圖并顯示錯誤
return View(user);
}
}
在這個例子中,我們創建了一個名為Register
的控制器方法,它接受一個User
對象作為參數。HttpPost
屬性表示這個方法將處理表單提交。如果模型狀態有效,我們可以處理用戶注冊邏輯(例如保存到數據庫),然后重定向到其他頁面或返回視圖。如果模型狀態無效,我們返回視圖并顯示錯誤。
現在,當用戶提交表單時,ASP.NET MVC將調用AccountController
的Register
方法處理表單提交。