0

User View Control没有代码隐藏。那么,我应该在哪里/如何制作events元素?

我想了解 MVC 中控件的逻辑...

4

5 回答 5

7

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 的教程和视频的有用资源:

于 2011-01-26T22:52:58.747 回答
1

个人 id 在控制器中执行逻辑或让控制器调用为您完成工作的业务逻辑类。然后控制器将返回视图。将模型从控制器传递到您的视图中,然后将模型从视图传递到局部视图(MVC 等效于用户控件)

这意味着视图/局部视图中没有逻辑,这意味着您可以以非常干净的方式渲染模型

这有意义吗?

于 2011-01-26T22:54:04.050 回答
0

您似乎过于依赖 WebForms 页面生命周期。

MVC 表面上的编程方法与 WebForms 根本不同。它更类似于 Ruby On Rails。

一些可以帮助您学习 MVC 的资源是:

MVC 官方网站

Scott Hanselman 的 NerdDinner 项目

于 2011-01-26T22:56:20.223 回答
0

ITT 应该可以帮助您

http://www.asp.net/mvc/videos/how-do-i-work-with-data-in-aspnet-mvc-partial-views

于 2011-01-26T22:58:41.613 回答
0

我还会推荐 Scott Hanselman 的 NerdDinner 项目。它是学习 ASP.NET MVC 框架的好项目。

还阅读并重新阅读 Darin Dimitrov 的答案。它包含 MVC 中如何处理数据的基础知识

于 2011-01-26T23:22:25.333 回答