c#/netcore/mvc视图中调用控制器方法

1:

public class HomeController : Controller

    {
        public ActionResult Index()
        {
            ViewBag.pclass = this;    // 通过ViewBag把this指针传给视图,
            return View();
        }
 
       public string f1(int i)
        {
            int a=i+100;
            return a.ToString();

        }
}

在视图文件就可以像下面一样调用:

@{ Layout = null;
 
   string s = ViewBag.pclass.f1(5);
   
 }
 
2:

ASP.NET Core 获取控制器上的自定义属性

/// <summary>
    /// 参考代码Microsoft.AspNetCore.Mvc.Internal.AuthorizationApplicationModelProvider
    /// </summary>
    public class TestApplicationModelProvider : IApplicationModelProvider
    {
        public void OnProvidersExecuting(ApplicationModelProviderContext context)
        {
            //获取控制器上指定类型的属性
            var ad = context.Result.Controllers.First().Attributes.OfType<IAuthorizeData>();
        }

        public void OnProvidersExecuted(ApplicationModelProviderContext context)
        {
        }

        public int Order { get; } = -1000 + 10;
    }
 
注册:services.AddTransient<IApplicationModelProvider, TestApplicationModelProvider>();
 
 
3:
 
 
 
posted @ 2019-07-23 09:42  枫-  阅读(5053)  评论(0编辑  收藏  举报