🌷🌷🌷🌷例子1:用户注册
🌷🌷🌷🌷例子2:商品列表
🌷🌷🌷🌷例子3:用户登录
例子1:用户注册
// 控制器代码
public class AccountController : Controller
{
public ActionResult Register()
{
return View();
}
[HttpPost]
public ActionResult Register(UserModel user)
{
if (ModelState.IsValid)
{
// 保存用户数据到数据库
return RedirectToAction("Login");
}
return View(user);
}
}
// 视图代码(Register.cshtml)
@model UserModel
@using (Html.BeginForm())
{
@Html.LabelFor(m => m.Username)
@Html.TextBoxFor(m => m.Username)
@Html.ValidationMessageFor(m => m.Username这是一个经典的用户注册功能的代码示例。在这个例子中,我们使用MVC模式来实现用户注册过程。
解析:这个例子中,模型(Model)是UserModel类,它表示用户的属性(如用户名、密码等)。视图(View)是Register.cshtml,它是一个包含表单的视图模板,用于接收用户的注册信息。控制器(Controller)是AccountController类,它包含Register动作方法和处理表单提交的Register POST动作方法。
Register动作方法负责展示注册页面的视图,它通过返回View()方法将视图呈现给用户。当用户提交注册表单时,控制器中的Register POST动作方法会被调用。该方法接收UserModel对象作为参数,并使用ModelState.IsValid属性来检查模型的验证状态。
如果模型验证通过(即用户输入的数据符合规定),则可以将用户数据保存到数据库,并通过RedirectToAction方法将用户重定向到登录页面。如果模型验证失败,则重新呈现注册视图,并显示验证错误消息。
这个例子展示了MVC模式中各个组成部分的协作。控制器负责处理用户请求,将用户输入的数据传递给模型进行验证和处理,然后选择合适的视图进行呈现。
例子2:商品列表
```csharp
// 控制器代码
public class ProductController : Controller
{
public ActionResult Index()
{
var products = GetProductsFromDatabase();
return View(products);
}
private List<ProductModel> GetProductsFromDatabase()
{
// 从数据库中获取商品数据
// 省略具体的数据获取逻辑
}
}
// 视图代码(Index.cshtml)
@model List<ProductModel>
@foreach (var product in Model)
{
<h2>@product.Name</h2>
<p>@product.Description</p>
}
这是一个展示商品列表的代码示例。在这个例子中,我们使用MVC模式来展示从数据库中获取的商品数据。
解析:这个例子中,模型(Model)是ProductModel类的列表,它表示多个商品的属性(如名称、描述等)。控制器(Controller)是ProductController类,它包含Index动作方法。