asp.net-mvc – 在mvc中的所有页面中维护查询字符串
发布时间:2020-12-16 03:46:40 所属栏目:asp.Net 来源:网络整理
导读:我需要在我的asp.net mvc(C#)应用程序的所有页面中维护查询字符串. 例如: 我将调用页面www.example.com?Preview=True.无论我在www.example.com点击哪一页,都应该维护查询字符串.即当我点击www.example.com上的关于我们页面时,网址应为www.example.com/About
我需要在我的asp.net mvc(C#)应用程序的所有页面中维护查询字符串.
例如: 我怎样才能实现这一目标?什么是做这种常见手术的最佳场所. 解决方法
也许你需要一个自定义路线?:
public class PreviewRoute : System.Web.Routing.Route { ... public override VirtualPathData GetVirtualPath(RequestContext requestContext,RouteValueDictionary values) { var preview = System.Web.HttpContext.Current.Session["Preview"]; if (!values.ContainsKey("Preview")) values.Add("Preview",preview); var path = base.GetVirtualPath(requestContext,values); return path; } } } 随时设置会话[“预览”],您将获得所有网址?预览=真: System.Web.HttpContext.Current.Session.Add("Preview",true); 更新: 在Global.asax.cs中使用此路由: routes.Add("Default",new PreviewRoute("{controller}/{action}/{id}",new MvcRouteHandler()) { Defaults = new RouteValueDictionary( new { controller = "Home",action = "Index",id = "" } ) } ); 代替: routes.MapRouteLowercase( "Default",// Route name "{controller}/{action}/{id}",// URL with parameters new { controller = "Home",id = "" } // Parameter defaults ); 你也可以尝试这个扩展: public static class CustomRouteExtensions { public static void MapPreviewRoute(this RouteCollection routes,string name,string url,object defaults) { routes.MapPreviewRoute(name,url,defaults,null); } public static void MapPreviewRoute(this RouteCollection routes,object defaults,object constraints) { if (routes == null) { throw new ArgumentNullException("routes"); } if (url == null) { throw new ArgumentNullException("url"); } var route = new PreviewRoute(url,new MvcRouteHandler()) { Defaults = new RouteValueDictionary(defaults),Constraints = new RouteValueDictionary(constraints) }; if (String.IsNullOrEmpty(name)) { routes.Add(route); } else { routes.Add(name,route); } } } 在Global.asax.cs中: routes.MapPreviewRoute( "Default",id = "" } // Parameter defaults ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 使用asp.net mvc本地化jquery验证3
- .net – 如何将包含日期的字符串转换为其他格式?
- asp.net-mvc – 如何在DropDownListFor的扩展中添加额外的h
- asp.net-mvc – 在Action Filter中不正确地存储实例状态
- asp.net-mvc – ASP .Net MVC 3:单元测试控制器动作
- asp.net-mvc – ASP.Net MVC是否运行在ASP.NET 2.0之上?
- asp.net – jQuery / ASP MVC – “$.ajax”调用中的parser
- asp.net – 授权问题 – 匿名用户无法访问.jpeg或.css
- asp.net-mvc-2 – AuthorizeAttribute MVC 2中的IoC Unity
- asp.net-mvc-3 – ASP.NET MVC3 Fluent验证构造函数每次请求
推荐文章
站长推荐
- asp.net-mvc – MVC ViewModel绑定构造与展平
- asp.net-mvc – Razor视图引擎.cshtml页面中的Ou
- asp.net – 如何实现zopfli以获得更好的gzip压缩
- ASP.NET MVC 3数据注释:动态添加验证
- 如何在.NET中使用TreeView控件创建三态复选框?
- asp.net – 带私有视频的Web API C#
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ex
- asp.net-core – AppSettings.*.json文件未在ASP
- 在ASP.NET MVC表单上允许多个按钮的最佳方法是什
- asp.net – 使用“使用本地IIS Web服务器”时出现
热点阅读