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

如何从ASP.NET MVC中的自定义帮助器方法中访问当前的System.Web.Routing.RequestContext?

要从ASP.NET MVC中的自定义帮助器方法中访问当前的System.Web.Routing.RequestContext,您可以使用以下方法:

  1. 在自定义帮助器方法中,使用HttpContext.Current.Request.RequestContext属性来访问当前的RequestContext。

例如:

代码语言:csharp
复制
public static string GetCurrentRouteData(this HtmlHelper helper)
{
    var requestContext = HttpContext.Current.Request.RequestContext;
    var routeData = requestContext.RouteData;
    var controller = routeData.Values["controller"].ToString();
    var action = routeData.Values["action"].ToString();

    return $"Controller: {controller}, Action: {action}";
}
  1. 如果您需要在自定义帮助器方法中访问特定的RequestContext,而不是当前的RequestContext,则可以将RequestContext作为参数传递给帮助器方法。

例如:

代码语言:csharp
复制
public static string GetRouteData(this HtmlHelper helper, RequestContext requestContext)
{
    var routeData = requestContext.RouteData;
    var controller = routeData.Values["controller"].ToString();
    var action = routeData.Values["action"].ToString();

    return $"Controller: {controller}, Action: {action}";
}

这样,您就可以在ASP.NET MVC中的自定义帮助器方法中访问当前的System.Web.Routing.RequestContext。

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

相关·内容

Asp.Net MVC对类HtmlHelper自定义扩展方法以及如何调用

c# 扩展方法出来已久,介绍扩展方法文章也很多,此处就不多介绍,如有不懂当然可以百度,google一下,园子当中也有超级多讲解。 ?...大家可以看到这是微软MVC自带针对TextBoxFor三个重载方法。那么我们还可以针对TextBoxFor进行我们自定义扩展(想要什么样式,只要我们能实现),那么在调用时就方便多了。...看之前三个重载现在变成了四个,而且截图这个正好是我们自定义扩展。...命名空间名称"/> 第三种:看一下框架自带方法所在命名空间...System.Web.Mvc.Html,然后将我们自定义扩展方法命名空间也更改成这个那么就即不用配置也不用引用了。

1.5K10

《从零开始学ASP.NET CORE MVC》:ASP.NET Core Main方法(5)

本文出自《从零开始学ASP.NET CORE MVC》 推荐文章:ASP.NET Core Web 项目文件 ASP.NET Core Main方法 一个开始专心写字的人 在ASP.NET Core...ASP.NET Core 应用程序最初作为控制台应用程序启动,而Program.cs文件Main()方法就是入口。...在此对象上,调用Build()方法,会将我们ASP.NET Core 应用程序生成并且托管到服务上。...我们在后面的视频详细讨论CreateDefaultBuilder()所有方法。 而现在你只需要了解CreateDefaultBuilder()方法是用于在服务上创建程序配置默认值而存在。...按照微软规则,ASP.NET Core启动类名为Startup。 这个类有2种方法

83330

详述 Spring MVC 框架拦截 Interceptor 使用方法

preHandle方法,如果已经是最后一个Interceptor时候,就会是调用当前请求控制方法。...postHandle方法当前请求进行处理之后,也就是在控制方法调用之后执行,但是它会在DispatcherServlet进行视图返回渲染之前被调用,所以我们可以在这个方法对控制处理之后ModelAndView...该方法有两个参数,WebRequest对象是用于传递整个请求数据,比如在preHandle准备数据都可以通过WebRequest来传递和访问;ModelMap就是控制处理之后返回Model对象...在前面,我们用了很大篇幅内容讲述了拦截如何实现,因此,我相信大家对于如何实现拦截已经没有问题啦!...接下来,我们在看看,如何在 XML 文件配置拦截,以使我们拦截生效。

1.1K30

MVC 框架路由(Router)是如何跑起来

MVC 路由(Router)或分发(Dispatcher)会检测 HTTP 请求 URL,并尝试将单个 URL 组件与控制和控制定义方法匹配,同时将所有参数传入方法。...下面给出了一个简单路由类,可以大致阐明路由如何工作。然而在实际项目中,路由要比下面的示例路由复杂很多,因为它必须处理更多东西。 <?...它主要功能是将用户定义每个路由添加到数组,并执行它。要理解它是如何工作,请将下面的代码复制到 index.php 文件。 <?...那么路由如何工作呢? 在我们示例,add_route 方法将 url 路径名(route)添加到路由数组,并且定义对应处理操作。...这个处理操作可以是一个简单函数或者回调函数,作为闭包传入。现在当我们执行路由 execute 方法时,它会检测在当前 \$routes 数组是否匹配到路由,如果有,则执行这个函数或回调函数。

77410

ASP.Net Core 5.0 MVC AppSettings配置文件读取,Startup 类ConfigureServices 方法、Configure 方法使用

包括 Configure 方法以创建应用请求处理管道。...在应用启动时,ASP.NET Core 运行时会调用 ConfigureServices 和 Configure: ConfigureServices 方法 ConfigureServices 方法:...ASP.NET Core 模板配置管道支持: 开发人员异常页 异常处理程序 HTTP 严格传输安全性 (HSTS) HTTPS 重定向 静态文件 ASP.NET Core MVC 和 Razor Pages...请求管道每个中间件组件负责调用管道下一个组件,或在适当情况下使链发生短路。...可以在 Configure 方法签名中指定其他服务,如 IWebHostEnvironment、ILoggerFactory 或 ConfigureServices 定义任何内容。

32420

【Android零单排系列五十】《Android自定义Service实现方法

前言 小伙伴们,在前面的文章,我们谈到了Android开发自定义view基本概念及方法等,本文我们实际举例自定义一个Service。...三  自定义Service步骤 创建Service类:创建一个继承自android.app.Service类,该类将作为自定义Service主要代码文件。...实现Service方法:重写Service类一些方法以满足你需求。最常用方法包括: onStartCommand():在Service启动时调用,用于处理启动命令并执行相应任务。...在AndroidManifest.xml文件声明Service:在标签内部添加一个标签,并指定自定义Service类名称。...控制Service生命周期:根据你需求,决定如何启动和停止Service。Service可以通过调用startService()方法或绑定到其他组件(如Activity)来启动。

35930

如何在CentOS自定义Nginx服务名称

介绍 本教程可帮助自定义主机上服务名称。通常,出于安全考虑,各公司会修改服务名称。自定义nginx服务名称需要修改源代码。...查找服务版本 curl -I http://example.com/ HTTP/1.1 200 OK Server: nginx/1.5.6 # <-- this is the version of...char ngx_http_server_full_string[] = "Server: the-ocean" CRLF; 使用新选项重新编译Nginx 您需要按照本指南查看配置选项或从命令行历史记录搜索...make make install 停止在配置显示服务版本 vi +19 /etc/nginx/nginx.conf 在http配置文件下添加该行。如果您有https配置文件,也请添加该行。...GMT Connection: keep-alive ETag: "51f18c6e-264" Accept-Ranges: bytes 如果您对Nginx感兴趣,腾讯云实验室提供搭建Nginx静态网站相关教程和

2.2K20

Serilog高级玩法之用Serilog记录所选终结点附加属性

在本文中,我将展示如何向Serilog摘要请求日志添加其他元数据,例如请求主机名,响应内容类型或ASP.NET Core 3.0使用终结点路由中间件所选择端点名称。...,ActionId,ActionResult等 在这篇文章,我将展示如何添加这些类别第一种,即与请求/响应相关属性,在下一篇文章,我将展示如何添加基于MVC / RazorPages属性。...此类具有几个属性,可以让您自定义请求记录如何生成日志语句: public class RequestLoggingOptions { public string MessageTemplate...下面的静态帮助当前HttpContext上下文检索值,并在值可用时对其进行设置。 下面的静态helper类当前HttpContext检索值,并在值可用时设置它们。...这些属性将作为附加属性添加到Serilog生成结构化日志。在下一篇文章,我将展示如何MVC特定属性值添加到请求日志。敬请期待吧!

1.6K10

linux启动tomcat后浏览无法访问解决方法

但最近在启动后发现了一个问题:Centos服务,本地和服务ip互ping正常(本机ping服务,服务ping本地),但是服务上部署好tomcat后,本机却无法通过浏览访问服务tomcat...比如服务公网ip为:123.123.123.123,启动tomcat后默认端口为8080,通过123.123.123.123:8080访问时,无法访问tomcat默认页面.考虑是服务防火墙问题....配置防火墙 编辑防火墙配置 $ vi /etc/sysconfig/iptables 添加8080端口防火墙,允许访问....重启防火墙 $ service iptables restart 之后就可以在本机通过浏览访问123.123.123.123:8080,就可以正常看到tomcat默认欢迎页面了....总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn支持。

5.3K20

Asp.net mvc 知多少(三)

该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...如何自定义视图引擎? Ans. ASP.NET MVC 是一个开源并且高度可扩展框架。...通过在global.asax.cs文件Application_Start()方法注册自定义视图引擎,来告诉ASP.NET MVC来使用自定义视图引擎替换默认视图引擎。...ASP.NET MVC提供了基于jquery非侵入ajax。非侵入式ajax意味着通过使用帮助方法去定义ajax功能而不是通过在view添加js代码块。 Q38....默认来说,浏览只允许ajax调用你自己服务上托管的当前web应用站点。这个限制帮助组长了许多安全问题(比如XSS攻击)。

2.3K60

ASP.NET MVC如何运行: 建立在“伪”MVC框架上Web应用

为了上读者整体上把握ASP.NET MVC工作机制,接下来我按照其原理通过一些自定义组件来模拟ASP.NET MVC运行原理,我们也可以将此视为一个“迷你版”ASP.NET MVC。...为了 让定义在HomeControllerAction方法Index来处理针对该Web应用访问请求,我们需要指定与之匹配地址(符合定义在注册地址模板URL模式)。...如下图所示,由于在浏览输入地址(http://......上面我们我们演示了如何在我们自己创建“迷你版”ASP.NET MVC框架创建一个Web应用,从中我们可以看到和创建一个真正ASP.NET MVC应用别无二致。...接下来我们就来逐步地分析这个自定义ASP.NET MVC框架是如何建立起来,而它也代表了真正ASP.NET MVC框架工作原理。

1.3K60

Asp.net mvc 知多少(五)

该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次理解。...public Object ViewBag { get;} 是对ViewData一次包装,也是用来controller传值到相对应view。 生命周期仅存在于当前此次请求。...ASP.NET MVC如何控制session行为? Ans. 默认ASP.NET MVC 支持 session state(会话状态). Session用来存储跨请求 期间数据。...ASP.NET MVC如何标记Non-Action方法? Ans. ASP.NET MVC 将所有的公共方法默认为action方法。...如何限制action仅能被相应HTTP GET, POST, PUT or DELETE请求访问? Ans. 默认,每一个action方法都可以被任何HTTP请求访问(i.e.

3K60

零学习python 】58.Python自定义异常及引发异常方法

自定义异常 你可以用 raise 语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是 Error 或 Exception 类子类。...下面是一个引发异常例子: class ShortInputException(Exception): '''自定义异常类''' def __init__(self, length,...def main(): try: s = input('请输入 --> ') if len(s) < 3: # raise 引发一个自定义异常...main() 运行结果如下: 补充文件备份 制作文件备份 输入文件名字,然后程序自动完成对文件进行备份 参考代码 # 提示输入文件 file_name = input("请输入要拷贝文件名字...+file_names[1] # 创建新文件 newFile = open(new_file_name, 'wb') # 把旧文件数据,一行一行进行复制到新文件 for lineContent

9610

ASP.NET MVC5实现具有服务端过滤、排序和分页GridView

背景 在前一篇文章《【初学者指南】在ASP.NET MVC 5创建GridView》,我们学习了如何ASP.NET MVC 实现 GridView,类似于 ASP.NET web 表单功能。...介绍 在本文中,我们将会学习如何实现服务分页,搜索和排序功能。长远来讲,这是一种更好方式来应对数据集特别大情况。 我们将会修改前文中源代码,现在就开始吧!...Datatables.MVC5 首先,我们需要从 NuGet 包管理安装 datatables.mvc5。这是 Stefan Nuxoll 实现绑定在控制数据集模型。我们为什么需要这个包?...这是由于绑定将会提供一个附着在控制强类型模型,这将有助于我们避免读取请求参数,也会将我们请求参数类型转换解救出来。...该对话框,跳转到 Web,并选择 ASP.NET Web 应用程序项目,然后单击确定。 ? 在模板页面,选择 MVC,如果编写了单元测试,请先做检查,然后点击确定。

5.4K80
领券