MVC 中的页面刷新正在调用多个控制器中的许多方法
Page refresh in MVC is calling many methods in more than one controller
我有一个索引页,其布局页不同,并且在同一项目下的不同文件夹中有另一个索引页。这两个索引页面都有一个和两个局部视图,并且都有自己的控制器,一个是 home,另一个是 testController。我的问题是当我在浏览器中按 f5 时,它正在为控制器主目录和测试控制器调用局部视图方法和索引方法,并且正在清除某些变量。我的理解是它必须只调用 testcontroller 的 index 方法并调用此页面和控制器中的部分视图。我的理解错了吗?请告诉我。
谢谢
换句话说,您有一个调用子操作的视图。当您使用 Html.Action
或 Html.RenderAction
时,在大多数情况下,就好像您直接通过 URL 进行了这些操作。路由到一个动作需要发生的一切,运行 它,以及 return 呈现的视图必须发生在子动作上,就像正常动作一样。
您的问题令人困惑的地方在于刷新页面时您期望发生什么。刷新页面会将请求重播到服务器,然后服务器必须像对原始请求一样创建和发送响应。这意味着,您的主要动作和任何子动作将再次被击中。我不确定为什么你会认为应该发生其他事情。也许,您只想刷新页面的一部分?这就是 AJAX 的用武之地,但它不会帮助您执行诸如按 F5 之类的操作。这将始终导致重新加载整个页面。
我发现我在调用两个控制器索引方法时遇到的问题。我在两个索引页面中使用相同的布局页面。将其中一个索引页面指向右侧布局页面,停止调用 Home 控制器的 index 方法。我希望这可以帮助别人。
我不知道为什么有人对我的问题投了反对票。请告诉我原因。
我有一个索引页,其布局页不同,并且在同一项目下的不同文件夹中有另一个索引页。这两个索引页面都有一个和两个局部视图,并且都有自己的控制器,一个是 home,另一个是 testController。我的问题是当我在浏览器中按 f5 时,它正在为控制器主目录和测试控制器调用局部视图方法和索引方法,并且正在清除某些变量。我的理解是它必须只调用 testcontroller 的 index 方法并调用此页面和控制器中的部分视图。我的理解错了吗?请告诉我。
谢谢
换句话说,您有一个调用子操作的视图。当您使用 Html.Action
或 Html.RenderAction
时,在大多数情况下,就好像您直接通过 URL 进行了这些操作。路由到一个动作需要发生的一切,运行 它,以及 return 呈现的视图必须发生在子动作上,就像正常动作一样。
您的问题令人困惑的地方在于刷新页面时您期望发生什么。刷新页面会将请求重播到服务器,然后服务器必须像对原始请求一样创建和发送响应。这意味着,您的主要动作和任何子动作将再次被击中。我不确定为什么你会认为应该发生其他事情。也许,您只想刷新页面的一部分?这就是 AJAX 的用武之地,但它不会帮助您执行诸如按 F5 之类的操作。这将始终导致重新加载整个页面。
我发现我在调用两个控制器索引方法时遇到的问题。我在两个索引页面中使用相同的布局页面。将其中一个索引页面指向右侧布局页面,停止调用 Home 控制器的 index 方法。我希望这可以帮助别人。 我不知道为什么有人对我的问题投了反对票。请告诉我原因。