User View Control
没有代码隐藏。那么,我应该在哪里/如何制作events
元素?
我想了解 MVC 中控件的逻辑...
User View Control
没有代码隐藏。那么,我应该在哪里/如何制作events
元素?
我想了解 MVC 中控件的逻辑...
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" })
param=123
将生成作为查询字符串参数传递的 Foo 控制器操作的锚链接:
<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 的教程和视频的有用资源:
个人 id 在控制器中执行逻辑或让控制器调用为您完成工作的业务逻辑类。然后控制器将返回视图。将模型从控制器传递到您的视图中,然后将模型从视图传递到局部视图(MVC 等效于用户控件)
这意味着视图/局部视图中没有逻辑,这意味着您可以以非常干净的方式渲染模型
这有意义吗?
您似乎过于依赖 WebForms 页面生命周期。
MVC 表面上的编程方法与 WebForms 根本不同。它更类似于 Ruby On Rails。
一些可以帮助您学习 MVC 的资源是:
我还会推荐 Scott Hanselman 的 NerdDinner 项目。它是学习 ASP.NET MVC 框架的好项目。
还阅读并重新阅读 Darin Dimitrov 的答案。它包含 MVC 中如何处理数据的基础知识