zoukankan      html  css  js  c++  java
  • 如何在ASP.NET Core中构造UrlHelper,及ASP.NET Core MVC路由讲解

    参考文章:

    Unable to utilize UrlHelper

    除了上面参考文章中介绍的方法,其实在ASP.NET Core MVC的Filter拦截器中要使用UrlHelper非常简单。如下代码就展示了如何在IActionFilter拦截器中构造和使用UrlHelper,其它MVC的Filter拦截器如法炮制即可:

    using Microsoft.AspNetCore.Mvc;
    using Microsoft.AspNetCore.Mvc.Filters;
    using Microsoft.AspNetCore.Mvc.Routing;
    using System;
    
    namespace WebApi.Filters
    {
        public class MyActionFilterAttribute : Attribute, IActionFilter
        {
            /// <summary>
            /// OnActionExecuting方法在Controller的Action执行前执行
            /// </summary>
            public void OnActionExecuting(ActionExecutingContext context)
            {
                IUrlHelper urlHelper = new UrlHelper(new ActionContext(context.HttpContext, context.RouteData, context.ActionDescriptor));
    
                string actionUrl = urlHelper.Action("Display", "User", new { id = 15 });
            }
    
            /// <summary>
            /// OnActionExecuted方法在Controller的Action执行后执行
            /// </summary>
            public void OnActionExecuted(ActionExecutedContext context)
            {
                IUrlHelper urlHelper = new UrlHelper(new ActionContext(context.HttpContext, context.RouteData, context.ActionDescriptor));
    
                string actionUrl = urlHelper.Action("About", "Home", new { id = 15 });
            }
        }
    }

    OnActionExecuting方法运行效果如下:

    OnActionExecuted方法运行效果如下:

    ASP.NET Core MVC路由讲解

    在 ASP.NET Core 中路由到控制器操作

  • 相关阅读:
    python基础总结二
    HTTP和HTTPS的区别
    通过HTTP请求响应过程了解HTTP协议
    稳定性测试+易用性测试
    容错测试点
    功能测试思考点
    功能测试-UI测试思考点
    字符编码-11
    字典+再识函数-8
    web API的概念
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/10217717.html
Copyright © 2011-2022 走看看