如何将逻辑添加到MVC 3中的用户视图控件?
-
25-10-2019 - |
题
User View Control
没有代码。所以,我在哪里/应该如何制作 events
元素?
我想了解MVC中控制的逻辑...
解决方案
MVC中没有用户控件,因此您不应该为控件的逻辑打扰。 MVC中没有寄回。 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>
当视图需要将某些内容拨打到控制器中时,他们将不再使用任何寄回或事件:他们使用标准的HTML工件,例如锚固链接发送用于发送邮政请求的请求和表格。
例子:
@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表单,使您可以发布一些信息:
<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在Rails上。
帮助您学习MVC的一些资源是:
我还将推荐Scott Hanselman的Nerddinner项目。它是学习ASP.NET MVC框架的绝佳项目。
还可以阅读并重新阅读Darin Dimitrov的答案。它包含MVC中数据的基础知识
不隶属于 StackOverflow