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 中路由到控制器操作

  • 相关阅读:
    基础练习 高精度加法
    基础练习 阶乘计算
    基础练习 闰年判断
    基础练习 01字串
    基础练习 字母图形
    基础练习 数列特征
    基础练习 杨辉三角形
    基础练习 特殊的数字
    基础练习 回文数
    Codeforces 417A Elimination
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/10217717.html
Copyright © 2011-2022 走看看