gpt4 book ai didi

asp.net - asp.net mvc 是怎么算出来的?

转载 作者:行者123 更新时间:2023-12-02 16:56:58 25 4
gpt4 key购买 nike

我如何在 Controller 中创建一个方法,只需要输入一些参数,然后在单击表单提交后它就会计算出来?在幕后,它如何找到正确的方法以及如何确定我只需要这些参数?

最佳答案

简而言之:

  1. 路由引擎处理 HttpRequest,并检查请求的 URL。当它找到第一个路由匹配时,它会创建一个新的 MvcRouteHandler 实例,并向其传递 RouteValueDictionary 中 URL 的分解标记。

  2. 路由的 MvcRouteHandler 接受请求,并尝试实例化 Controller 类实例。按照惯例,它会查找名为“XXXXXXController”的类,其中 X 被路由中的 {controller} 参数替换。

  3. 一旦找到 Controller ,它就会调用路由的 {action} 参数给出的适当方法。路由中存在的任何命名参数(例如 {id})都会作为参数传递给该方法。

基本上,ASP.Net MVC“知道”的一切都来自路由信息。它无法凭空推测参数——它们必须来自路由解析。如果请求的 URL 中不存在该信息,则无法将其传递到该方法中。

还应该注意的是,您可以通过使路由使用备用处理程序而不是 MvcRouteHandler 来覆盖框架的行为。该框架具有很强的可扩展性,因此您可以在很多地方插入自定义功能。

关于asp.net - asp.net mvc 是怎么算出来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1181140/

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