asp.net-mvc – asp.net mvc:如何模拟Url.Content(“?”)?
发布时间:2020-12-16 07:26:40 所属栏目:asp.Net 来源:网络整理
导读:有谁知道如何模拟Url.Content(“?”)? (顺便说一句:我正在使用Moq) 解决方法 你指的是控制器中的Url属性,我认为它属于UrlHelper类型.我们能够模拟这个的唯一方法是提取IUrlHelper接口,并创建一个UrlHelperWrapper类,它同时实现它并包装本机UrlHelper类型.
有谁知道如何模拟Url.Content(“?”)?
(顺便说一句:我正在使用Moq) 解决方法
你指的是控制器中的Url属性,我认为它属于UrlHelper类型.我们能够模拟这个的唯一方法是提取IUrlHelper接口,并创建一个UrlHelperWrapper类,它同时实现它并包装本机UrlHelper类型.然后我们在BaseController上定义一个新属性,如下所示:
public new IUrlHelper Url { get { return _urlHelper; } set { _urlHelper = value; } } 这允许我们创建IUrlHelper的模拟并注入它们,但在默认情况下使用我们的UrlHelperWrapper类的实例.对不起,它啰嗦了,但正如你所发现的那样,这是一个问题.但是,它确实无需更改控制器中的任何Url.Action和类似的调用. 这是界面: public interface IUrlHelper { string Action(string actionName); string Action(string actionName,object routeValues); string Action(string actionName,string controllerName); string Action(string actionName,RouteValueDictionary routeValues); string Action(string actionName,string controllerName,object routeValues,string protocol); string Action(string actionName,RouteValueDictionary routeValues,string protocol,string hostName); string Content(string contentPath); string Encode(string url); string RouteUrl(object routeValues); string RouteUrl(string routeName); string RouteUrl(RouteValueDictionary routeValues); string RouteUrl(string routeName,object routeValues); string RouteUrl(string routeName,RouteValueDictionary routeValues); string RouteUrl(string routeName,string protocol); string RouteUrl(string routeName,string hostName); } 我不打算给你UrlHelperWrapper的定义 – 它实际上只是一个实现这个的愚蠢的包装器,并将所有调用传递给UrlHelper. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 寻找一个使用Lucene.net与ASP.NET的例子
- asp.net-mvc – 将CSS添加到视图或部分视图
- asp.net-mvc – 从Scripts.Render中排除的Asp.Net MVC4捆绑
- ASP.Net中父/子UI设计的最佳实践?
- asp.net – 如何防止asp:FormView作为表格呈现?
- asp.net – 加密ASP .NET 2.0和SQL Server 2005中的工资值
- asp.net – 如何关闭radwindow管理器窗体服务器端按钮单击
- asp.net批量多选文件上传解决方案
- asp.net – 在页面生命周期的PreInit事件中创建动态控件?
- 在ASP.Net 2.0应用程序中检查用户会话状态的状态和大小的最
推荐文章
站长推荐
- asp.net-mvc – 如何使用Autofac将控制器的Model
- ASP.NET Core 新建项目 - macOS 环境 - ASP.NET
- asp.net – 将Dot Net网站调试为域普通用户
- asp.net-core-mvc – MVC核心如何强制/设置所有操
- asp.net-mvc – ASP.NET MVC WebSite中的ERR_EMP
- JS_正则表达式_使用字符串创建的正则表达式_反斜
- 在我的ASP.NET MVC站点区域中执行全局视图数据的
- 在asp.net中使用SQL查询中的变量(C#)
- asp.net-mvc – 在MVC中,何时使用<%=%>和<%%&g
- 禁用asp.net缓存
热点阅读