User View Control
没有代码隐藏。那么,我应该在哪里/如何制作events
元素?
我想了解MVC中控件的逻辑......
答案 0 :(得分:7)
MVC中没有用户控件,因此您不必担心控件的逻辑。 MVC中没有PostBack。 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>
当视图需要向控制器调用某些东西时,它们不再使用任何PostBack或事件:它们使用标准的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的教程和视频:
答案 1 :(得分:1)
个人id在控制器中执行逻辑或让控制器调用为您工作的业务逻辑类。然后控制器将返回视图。将模型从控制器传递到视图中,然后将模型从视图传递到局部视图(MVC等效于用户控件)
这意味着视图/部分视图中没有逻辑,这意味着您可以以非常干净的方式渲染模型
这有意义吗?
答案 2 :(得分:0)
您似乎过于依赖WebForms页面生命周期。
MVC表面上的编程方法与WebForms根本不同。它更类似于Ruby On Rails。
帮助您学习MVC的一些资源包括:
答案 3 :(得分:0)
答案 4 :(得分:0)
我还会推荐Scott Hanselman的NerdDinner项目..这是一个学习ASP.NET MVC框架的好项目。
还阅读并重新阅读Darin Dimitrov的答案..它包含了如何在MVC中处理数据的基础知识