首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在AngulrJs路由中避免两次调用mvc action方法调用

在AngularJS路由中避免两次调用MVC action方法调用,可以通过以下方式解决:

  1. 使用ng-click指令代替href链接:在HTML中,使用ng-click指令绑定一个函数,然后在函数中执行路由跳转操作,而不是直接使用href链接。这样可以避免默认的页面刷新行为,从而避免多次调用MVC action方法。
  2. 使用$location.path()方法进行路由跳转:在控制器中,可以使用$location.path()方法进行路由跳转,而不是通过href链接或其他方式。这样可以确保只有在特定条件下才会执行路由跳转,避免多次调用MVC action方法。
  3. 使用$route服务的reload()方法进行路由刷新:如果需要在同一个路由上多次调用MVC action方法,但又不希望重复加载页面内容,可以使用$route服务的reload()方法进行路由刷新。这样可以保持当前页面的状态,并且只重新加载需要更新的数据,避免重复调用MVC action方法。

总结起来,避免在AngularJS路由中多次调用MVC action方法的关键是避免默认的页面刷新行为,使用ng-click指令或$location.path()方法进行路由跳转,并且可以使用$route服务的reload()方法进行路由刷新。这样可以提高应用的性能和用户体验。

参考链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core 3.x 中间件流程与路由体系

next调用之前,我们可以写一些请求进来的逻辑,而在next调用之后,就相当于返回响应了,这时候也可以写一些逻辑。 本例中,我们下面还使用了Run方法注册了另一个中间件。...因为中间件会按照它们注册的顺序进行调用,所以第一个Use方法里执行next.Invoke()的时候,就会执行下面Run所调用的中间件。...这个路由中间件会把HTTP请求和路由数据发送给MVC的一个组件,它叫做MVC Router Handler。...第一个问题就是,在被MVC处理之前,其它的中间件不知道最后哪个Action方法会被选中来处理这个请求。...而在MVC的上下文中,这个请求委托就是一个包装类,它包装了一个方法,这个方法可以实例化一个Controller并执行选中的Action方法

44420

ASP.NET Core 3.x 中间件流程与路由体系

next调用之前,我们可以写一些请求进来的逻辑,而在next调用之后,就相当于返回响应了,这时候也可以写一些逻辑。 本例中,我们下面还使用了Run方法注册了另一个中间件。...早期的ASP.NET Core框架里,HTTP请求进入中间件管道,管道的结尾处,有一个Router中间件,也就是路由中间件。...这个路由中间件会把HTTP请求和路由数据发送给MVC的一个组件,它叫做MVC Router Handler。...第一个问题就是,在被MVC处理之前,其它的中间件不知道最后哪个Action方法会被选中来处理这个请求。...而在MVC的上下文中,这个请求委托就是一个包装类,它包装了一个方法,这个方法可以实例化一个Controller并执行选中的Action方法

67230

Run():

next调用之前,我们可以写一些请求进来的逻辑,而在next调用之后,就相当于返回响应了,这时候也可以写一些逻辑。 本例中,我们下面还使用了Run方法注册了另一个中间件。...因为中间件会按照它们注册的顺序进行调用,所以第一个Use方法里执行next.Invoke()的时候,就会执行下面Run所调用的中间件。...这个路由中间件会把HTTP请求和路由数据发送给MVC的一个组件,它叫做MVC Router Handler。...第一个问题就是,在被MVC处理之前,其它的中间件不知道最后哪个Action方法会被选中来处理这个请求。...而在MVC的上下文中,这个请求委托就是一个包装类,它包装了一个方法,这个方法可以实例化一个Controller并执行选中的Action方法

1.6K31

精通MVC3摘译(3)-自定义路由系统

framework依次每个RouteTable.Routes调用这个方法。直到其中一个返回non-null值。...假设我们从一个已经存在的application上移植到一个MVC Framework,但是一些用户已经收藏了之前的URL地址,并且脚本中硬编码了。我们希望能继续支持老的URL。...注意,上面我们已经为View方法转换了参数,View方法的其中一个重载方法接受一个string参数,该参数指定要显示的view的名字,如果不转变,那么C#编译器会认为我们是调用这个重载函数,为了避免这种情况...注意,属性的名字和我们action方法的参数名一致,这样保证了我们生成的值会通过参数传递给action方法。...创建自定义路由Handler 由中,我们依赖的是MvcRouteHandler,因为它连结了routing system和MVC FrameWork。

53520

架构知识实践与总结-分层

微服务分层架构还有一个调用原则,只允许上层调用下层的服务,不允许同层和反向的调用,以此来避免产生循环依赖。微服务通过分层解决服务的耦合、理清调用关系、加速业务开发。...MVC分层 MVC是非常典型的应用程序开发架构,刚毕业接触Java开发时,Spring框架的MVC模式深入我心。 M:Model业务模型。 V:View视图,用户看到的交互页面。...C:Controller控制器,接收用户的请求,调用View和Model输出用户需要的数据。 通过业务模型、视图、控制器三层划分,开发web应用时,可以不同文件夹中聚焦业务代码。...路由中间件负责转发前后添加一些通用逻辑,比如验证用户Token,统计请求次数等。 Controller负责接收具体的请求,并调用不同的Service。 Service主要实现请求的具体业务逻辑。...分层起到的作用有:功能内聚,解耦,增强代码复用性,明确调用关系避免循环依赖,方便代码结构组织,方便业务扩展等。 以上就是我对分层的理解,欢迎私信交流。

86110

ASP.NET MVC5高级编程 ——(5)路由

2 :应用程序的Global.asax文件中包含一个路由表,路由表Application Start事件期间创建,当一个MVC应用程序首次运行时,会调用Application_Start()方法,这个方法随后调用...1.特性路由 1.1 路由URL 创建一个ASP.NET MVC Web应用程序项目后,浏览Global.asax.cs文件中的代码中,Application_Start方法调用了一个名为RegisterRoutes...URL= /Home 调用Index()方法,并使用 NULL 作为Id参数的值。 URL= /Home/Index/3 调用Index()方法,id=3。 ?...定义可变长路由(任意长度的URL): 作用:能够一个单一的路由中对任意长度的URL进行路由。...生成输出URL的两种方法视图中生成(多数情况下)、动作方法中生成。 视图中生成输出URL: 视图页面中通过调用ActionLink辅助器方法。 Eg:@Html.

1.9K40

通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现:路由整合

的执行 执行Action方法 服务注册 四、模拟框架构建一个MVC应用 整个MVC框架建立由中间件(《ASP.NET Core 3框架揭秘》下册具有对路由中间件的专门介绍)上...这两个扩展分别模拟的是MapControllers和MapControllerRoute扩展方法的实现,为了避免命名冲突,我们不得不起一个不同的方法名。...四、模拟框架构建一个MVC应用 到目前为止,模拟MVC框架的雏形已经构建完毕,我们解析来着它上面创建一个简单的MVC应用。...如下所示的应用承载程序中,完成了针对路由终结点以及所需服务注册之后,我们调用了前面定义的AddMvcControllers扩展方法注册了模拟MVC框架必要的服务。...针对IApplicationBuilder接口的UseEndpoints扩展方法调用中,我们利用提供的Action对象调用了前面定义的MapMvcControllerRoute

1.2K30

精通MVC3摘译(2)-生成URL

2.我们提供的片段变量的值必须符合路由中的默认变量,这些变量存在默认值,但是URL模式中没出现,比如下面的,myVar是一个默认变量 routes.MapRoute("MyRoute", "{controller...由于colorpage前面出现,路由系统不会重用之前URL中的值,路由不会匹配。 处理这种行为最佳的方法是尽量避免这种事情的发生。我们强烈建议你要依赖这种行为,为每个URL模式中的每个片段变量赋值。...有时,象处理其他变量那样处理controller和action是很有用的,通过提供一组键值对来生成link。我们可以使用一些方法来实现。这些方法不是MVC专用的。...但是知道这个方法的存在也能让我们更简单的编程。 Action方法中生成URL 多数情况下,我们会在view中生成URL,但是有时也会要在action方法中生成。...指示MVC Framework生成一个重定向的URL,以此调用指定的action

80210

如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

这些属性都在HttpContext中可用,因此可以由中间件本身直接添加。...NET Core MVC中有多种类型的过滤器,每种类型的过滤器MVC过滤器管道中的有着不同的用途(有关更多详细信息,请参见此文章)。本文中,我们将使用最常见的过滤器之一,即Action过滤器。...Action过滤器执行MVC操作方法之前和之后运行。他们可以访问许多MVC属性的值,例如正在执行的Action及其将被调用的参数。 下面的Action过滤器直接实现IActionFilter。...该OnActionExecuting方法调用action方法之前被调用,并将额外的MVC特定属性添加到通过构造函数传入的IDiagnosticContext中。...有了这个配置之后,如果你调用一个MVC控制器,你Serilog的请求日志消息中会看到额外的数据(ActionName,ActionId,和RouteData,ValidationState)记录: ?

3.6K10

【ASP.NET Core 基础知识】--中间件--内置中间件的使用

1.3 路由中间件 ASP.NET Core中的路由中间件用于将传入请求映射到处理请求的代码。路由是一个关键的组件,负责解释传入的URL并决定应该调用应用程序中的哪个处理程序。...某些中间件可能需要配置参数,你可以通过调用相应的配置方法来完成。...例如,静态文件中间件通常应该在MVC由中间件之前,以确保能够正确处理静态文件的请求。...app.UseStaticFiles(); // 静态文件中间件 app.UseRouting(); // 路由中间件 app.UseEndpoints(...); // MVC由中间件 尽量避免过度使用中间件...只添加应用程序需要的中间件,避免管道中引入不必要的复杂性。过多的中间件可能会导致性能下降和难以维护的代码。

26510

5. abp集成asp.net core

在这个Create方法中,首先实例化一个ConventionalControllerSetting类,参数就是传过来的规约控制器所在的程序集以及url路由中默认的根目录(app)。...三、abp中的应用模型规约 最上面的aspnetcore mvc扩展图中,规约模块(Convention)可以调换掉mvc框架的默认应用模型(Model),从而自定义的控制器等。...的HTTP类型,也就是平时action上标记的[HTTPGet],一般标记了此特性,aspnetcore会默认实例化一个SelectorModel对象。...然后就是最重要的AttributeRouteModel,这个就是路由特性,即平时action上标记的[Route("xxx/xxx")],同时也实例化了一个SelectorModel对象。...的参数,默认是调用aspnetcore mvc本身的参数绑定机制: protected virtual void ConfigureParameters(ControllerModel controller

32310

Asp.net MVC 之 Contorllers(二)

然而, ASP.NET MVC 中,URL 路由是把传入的 URL 映射到 Controller 类和 Action 方法为目的的。...最后,只有符合预定义的 URL 格式(也就是路由)的请求,才被允许享用 ASP.NET MVC 运行时的服务。所有这些请求都被路由到一个共同的序实例化控制器类的HTTP处理程,并调用其中定义的方法。...属性路由 NuGet 的 ASP.NET MVC 5 中包含 AttributeRouting 。属性路由是所有有关使用属性直接在控制器的Action方法上定义的路由。...正如前面所说,经典路由是应用程序启动时基于Global.asax中建立的约定。 任何时候的请求,URL都是与路由注册的模板中相匹配的。如果匹配,就可以确定请求的相应的控制器和action方法。...GetOrderById 通过 HTTP GET 调用,并且 URL 模板匹配指定模式时,该方法是可以被访问的。

1.9K60

知识汇总(二)

反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。...70.spring mvc 和 struts 的区别是什么? 拦截级别:struts2 是类级别的拦截;spring mvc方法级别的拦截。...虽然方法之间也是独立的,但其所有 action 变量是共享的,这不会影响程序运行,却给我们编码和读程序时带来了一定的麻烦。...finalize: 是 Object 类的一个方法垃圾收集器执行的时候会调用被回收对象的此方法。 76.try-catch-finally 中哪个部分可以省略?...如果采用两次握手,那么只要服务器发出确认数据包就会建立连接,但由于客户端此时并未响应服务器端的请求,那此时服务器端就会一直等待客户端,这样服务器端就白白浪费了一定的资源。

66210

面试又问:拦截器和过滤器的区别!

-- 拦截器只对action起作用 因此填入的不是页面路径 而是方法 --> ...多个Filter的访问顺序问题 执行顺序取决于web.xml文件中配置的先后顺序。 Filter生命周期 当服务器启动,会创建Filter对象,并调用init方法,只调用一次....它提供了一种机制可以使开发者可以定义一个action执行的前后执行的代码,也可以一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。...action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。...Spring MVC中每个控制器中可以定义多个请求处理方法,我们把这种请求处理方法简称为Action 总结 拦截器和过滤器其实都是AOP编程思想的实现,只不过过滤器是基于函数回调的,拦截器则是基于Java

26020

ASP.NET Core 实战:构建带有版本控制的 API 接口

系统迭代的整个过程中,不可避免的会添加新的资源,或是修改现有的资源,后端接口作为暴露给外界的服务,变动的越小,对服务的使用方造成的印象就越小,因此,如何对我们的 API 接口进行合适的版本控制,我们势必需要首先考虑...a)使用不同的 API 名称   最简单粗暴,需要变更接口逻辑时就重新起个 API 名称,新的版本调用新的 API 名称,旧的版本调用旧的 API 名称。... Startup 类中,存在着 ConfigureServices 和 Configure 这两个方法 ConfigureServices 方法中,我们将自定义服务通过依赖注入的方式添加到 IServiceCollection...Url 中添加版本号,这个版本号是不是很像我们 MVC 中使用的 Area。   ...三、总结   本章使用了 Microsoft.AspNetCore.Mvc.Versioning 这一组件来实现我们对于 API 版本控制的功能实现,可能你会有疑问,我们直接在路由中写明版本信息不是更简单吗

1.2K30
领券