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的一些资源是:

MVC官方网站

斯科特·汉塞尔曼(Scott Hanselman)的Nerddinner项目

我还将推荐Scott Hanselman的Nerddinner项目。它是学习ASP.NET MVC框架的绝佳项目。

还可以阅读并重新阅读Darin Dimitrov的答案。它包含MVC中数据的基础知识

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top