在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
方法处理表单提交。