问题标签 [controllercontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 Web api 控制器中使用 ControllerContext.RequestContext
我正在尝试集成SagePayMvc.dll
到一个 ASP.NET Web API 项目中,该项目需要ControllerContext.RequestContext
传递才能形成通知 URL。
目前我在实现这一点时遇到了一些困难,我需要ControllerContext.RequestContext
从这个 web api 控制器传递:
我试图ControllerContext controllerContext = new ControllerContext()
在 SagePayHelper 实例化下方添加一个公共,然后随后添加var context = controllerContext.RequestContext
,这个问题内部RequestContext
的任何方法都没有被实例化,所以当 SagePayMvc 到达在IUrlResolver
接口内完成的构建通知 URL 的点时,会引发错误.
有没有一种ControllerContext.RequestContext
模拟的方法,我以前使用过 RhinoMocks 或者恢复到我之前在表单项目中实现 SagePayMvc 的方式会更谨慎(表单项目是一个 MVC 4 应用程序,它序列化并将表单数据发送到网络 API)。
任何建议将不胜感激。
asp.net-mvc - 使用 View.Render 方法将 MVC 视图转换为字符串的单元测试方法
我编写了将 MVC 视图转换为字符串的方法和测试方法来检查它是否返回字符串。
当然,它适用于 Web,但是当我在 NUnit 中运行测试时,当方法尝试调用 View.Render 时,它会在 System.Web 中引发 NullReferenceException。
这是堆栈跟踪:
渲染方法代码:
以及带有控制器上下文模拟的测试方法:
我在这里读到原因是_virtualPath
NULL 。HttpRuntime.AppDomainAppVirtualPathString int System.Web.VirtualPathString
那么是否可以将它们设置为单元测试?
asp.net-mvc - 我可以从 HttpContext 访问 ViewData 吗?
我正在使用一个项目,该项目在其授权操作过滤器中设置变量(例如当前用户配置文件对象),并将它们存储在ViewData
以下操作方法中以供访问。
然后操作方法从存储库中调用功能。我正在尝试找到一种在不修改存储库的方法签名ViewData
的情况下从存储库访问的方法,并希望有一种方法可以通过我可以从存储库调用的功能来追踪它。HttpContext.Current
有人能帮忙吗?为了清楚起见,我唯一可以修改的代码是在存储库方法中:(
.net - 将 Razor 视图渲染为字符串 => 从循环任务调用时,ControllerContext 为空
我正在使用 ASP.NET MVC3
我有一个.cshtml
视图,我想将其字符串化以合并到电子邮件正文中。
这是我使用的方法:
当我从ActionResult
从 Ajax 调用中调用的方法中调用此方法时,这非常有效。
但是,我面临一个不寻常的情况:
在我的Global.asax
文件中,我有一个每 10 分钟调用一次的方法,其目标是验证最近 10 分钟内是否在数据库中创建了一些特殊记录,如果是,则发送电子邮件。当然,邮件正文就是这个字符串化的视图。
这是我的一段代码:这个方法非常受这篇文章的启发
该SendEmail()
方法应该创建电子邮件的正文,获取视图并将其放入 HTML 字符串中以发送
在这里,RenderRazorViewToString()
(方法的主体在这篇文章的顶部给出)在这一行失败:
ControllerContext 不能为空
为什么,仅在这种情况下,ControllerContext
是null
?我已经阅读了这篇文章,但如果我理解正确,这是因为我手动实例化了我的控制器写作:
但是,我不知道如何继续...
任何帮助将不胜感激。
谢谢
c# - 如何在 ControllerContext 中模拟 DisplayMode 以进行单元测试 c#
我想在我的控制器中测试一个操作,该操作使用 controllerContext 作为参数来生成基于第 3 部分库“Rotativa”的 pdf 文档。
这是动作(功能)的实现:
这就是我试图让单元测试工作的方式:
测试名称:DetailsPrint_shouldPrint 测试全名:OPSReviewTest._2A1ControllerTest.DetailsPrint_shouldPrint 测试源:C:\inetpub\wwwroot\OpsReview\OPSReviewTest\Controllers\Api_2A1ControllerTest.cs:第 46 行测试结果:失败测试持续时间:0:04:39,3039007 结果 StackTrace :
在 System.Web.WebPages.DisplayModeProvider.GetDisplayMode(HttpContextBase context) 在 System.Web.Mvc.ControllerContext.get_DisplayMode() 结果消息:测试方法 OPSReviewTest._2A1ControllerTest.DetailsPrint_shouldPrint 抛出异常:System.NullReferenceException:对象引用未设置为对象的实例。
任何帮助或建议,谢谢。
pdf-generation - 从另一个控制器调用 Action 后 Rotativa pdf 产生问题
从另一个控制器调用 Action 后在 ControllerContext 出现错误:-
c# - 在 AuthorizeAttribute Mvc Core Web Api 中获取控制器实例
我使用下面的类来控制我的 api 方法请求并设置 BaseController 类的一些属性以在方法中常用。这个来自 Asp.Net Mvc Web Api
但是当我试图在 Asp.Net Mvc Core Api 中实现相同的结构时,我无法到达已初始化的控制器实例。有什么办法可以得到那个实例。
使用 Microsoft.AspNetCore.Authorization;
model-view-controller - Rotativa BuildFile 没有击中操作方法
我的 Controller 类中有两个操作方法:
- DetailsAll:获取一些数据并显示在视图中
- SaveAsPDF:在 DetailsAll.cshtml 的 windows.load 上调用,应将 DetailsAll 视图保存为 pdf
我的问题在于 SaveAsPDF Action 方法。在这里,我尝试使用 Rotativa ActionAsPdf 和随后的 BuildFile 方法来生成和保存 PDF。但是,在执行“BuildFile”行时,它没有在我的 DetailsAll Action 方法中命中断点,随后导致 PDF 生成空白。
你能帮我解决我哪里出错了吗?