MVC 中没有用户控件,因此您不必担心控件的逻辑。 MVC 中没有 PostBacks。 MVC 中没有 ViewState。 MVC 中没有事件。
有型号:
public class MyViewModel
{
public string Name { get; set; }
}
操纵模型的控制器:
public class HomeController: Controller
{
public ActionResult Index()
{
return View(new MyViewModel
{
Name = "John"
});
}
}
和视图渲染模型中包含的数据:
@model AppName.Models.MyViewModel
<div>@Model.Name</div>
当视图需要向控制器调用某些内容时,它们不再使用任何 PostBacks 或事件:它们使用标准的 HTML 工件,例如用于发送 GET 请求的锚链接和用于发送 POST 请求的表单。
例子:
@Html.ActionLink("click me", "Foo", new { param = "123" })
将生成指向 Foo 控制器操作的锚链接,并将 param=123 作为查询字符串参数传递:
<a href="/home/foo?param=123">click me</a>
以及以下内容:
@using (Html.BeginForm("Foo", "Home"))
{
@Html.TextBoxFor(x => x.Name)
<input type="submit" value="OK">
}
会生成一个 HTML 表单,允许您向 Foo 控制器操作 POST 一些信息:
<form action="/Home/Foo" method="post">
<input type="text" id="Name" name="Name" value="" />
<input type="submit" value="OK" />
</form>
包含许多学习 ASP.NET MVC 的教程和视频的有用资源: