gpt4 book ai didi

asp.net - MVC4 - View 和 Controller 之间的关系

转载 作者:行者123 更新时间:2023-12-01 09:58:29 25 4
gpt4 key购买 nike

我很难理解 .NET 中的 MVC 概念。我正在创建一个基本的博客应用程序,主要是为了获得 MVC 的洞察力和技能。我只是不太明白其中的一些。我目前不清楚的部分是 Controller 和 View 之间的关系。如果有人回答我这个问题,事情就会清楚。

我有一个名为 TestA 的 View ,它对应于我的 Controller ControllerTestA。现在我在 ControllerTestA 中添加了以下内容。

public ActionResult TestA (){ //do something }

现在我需要知道是否所有来自 View TestA 的任何形式的回发都必须通过我的 TestA Controller 方法。所以基本上我可以因为不同的原因使用不同的参数进行不同的回发。一些与一个回发一起使用,另一些与另一个回发一起使用。这是怎么做到的?

希望在这里得到一些帮助。

最佳答案

您在这里缺少关系的关键部分,即路由。您是在使用诸如 Postback 之类的术语来谈论 WebForms;不要那样做,因为你最终会让自己感到困惑。

思考 MVC 的最佳方式是在 RequestsResponses 中。

让我们看看请求(高级)在 MVC 应用程序中是如何发生的。

请求

  1. 请求使用 url ex 命中服务器。/你好/世界
  2. 该 url 用于匹配路由表中的任何条目
  3. 找到匹配项后,该路由定义基本值,例如应该调用什么 Controller 操作
  4. 创建 Controller ,并使用路由值和其他请求属性(查询字符串、 session 等)调用该操作。

响应

  1. 我们现在处于 Controller 操作中,运行您需要的代码来完成请求
  2. 将数据传递给 View
  3. View 由约定和您的 ViewEngine
  4. 决定
  5. 然后呈现 View 并将其写入响应。
  6. 请求/响应完成。

注意事项

这整个过程是由路由决定的,controller和view之间的关系是微不足道的。表单发布到的位置由您在 View 中确定,方法是使用辅助方法来确定在下一个请求/响应 流中要命中的路由

一些辅助方法。

@Url.Action("index", "home");
@Html.ActionLink("index", "home")
@using (Html.BeginForm("create", "home")) { }

总而言之,您的路由确实促进了 Controller 操作和 View 之间的关系。一旦掌握了如何创建它们,您就会更好地理解如何管理应用程序的交互。希望有所帮助。 :)

关于asp.net - MVC4 - View 和 Controller 之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20684832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com