在ASP.net核心web应用程序中,我使用以下命令从视图中打印局部视图:
@Html.Partial("~/some/absolute/path.cshtml")
但尝试从控制器获取字符串形式的视图时,视图在
var viewResult = razorViewEngine.FindView(actionContext, "~/some/absolute/path.cshtml", false);
//viewResult.View will be null
有没有人遇到过这种情况?在NET.Core之前,将视图呈现为string稍有不同,所以我想知道是否遗
我是新的.asp.net核心。我正在测试一个控制器,它将视图呈现为字符串,然后使用evo pdf来呈现视图。
所有的工作都是完美的,我也能够成功地使用postman进行测试。然而,当我使用vs 2017测试资源管理器来调试我的测试(Xunit)时,我的测试应用程序出现错误。错误发生在我的RenderViewToString方法中,因为我的剃刀视图引擎无法定位要呈现的视图。为定位视图而搜索的路径与预期一致。任何指导都是值得感谢的。
//Unit Test Code
[Fact]
public async void GetPdf()
{
var re
我试图找出一种方法来检查剃须刀视图在测试中呈现的HTML。
我一直在看那些人们问过类似问题的帖子,但每次我都没能做到。我遇到的问题是当视图引擎试图加载.cshtml文件时。它从函数中返回一个空引用异常。
[Test]
public void GetRazorViewEngine() {
var _HttpContextBaseMock = new Mock<HttpContextBase>();
var _HttpRequestMock = new Mock<HttpRequestBase>();
var _HttpResponseMock =
通过执行以下操作,我可以在_Layout.cshtml中获得当前控制器名称和操作名称
var controller = ViewContext.RouteData.Values["controller"].ToString();
var action = ViewContext.RouteData.Values["action"].ToString();
但是当我试着得到这个区域
var area = ViewContext.RouteData.Values["area"].ToString();
它不能工作,因为该对象中只有两个键(“控制器”和
我想要的:
在我的应用程序中,我想为我的电子邮件使用一个模板。不幸的是,我以前在另一个项目中使用过的代码不再起作用了。
引发的错误:
Could not find an IRouter associated with the ActionContext.
If your application is using endpoint routing then you can get a IUrlHelperFactory with dependency injection
and use it to create a UrlHelper, or use Microsoft.AspNetCor
Microsoft.AspNetCore.Mvc.Internal.ActionContext.GetNormalizedRouteValue()不存在
我在.net Core2.2中实现了一个自定义的剃刀ViewEngine。
MSDN指出GetNormalizedRouteValue()方法存在于.Net Core2.2的Microsoft.AspNetCore.Mvc.Internal中,但是当我编译或检查程序集时,它看起来并不存在。
我的代码
我使用use it的代码上下文是context.GetNormalizedRouteValue(AREA_KEY)
public class C
我正在尝试将Razor视图呈现为来自托管服务的字符串。通过使用IRazorViewEngine,我可以使用以下内容将视图呈现为字符串:
_viewEngine.FindView(actionContext, viewName, false);
var viewDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
{
Model = model
};
我在一个视图中有一个小bug,并注意到视图引擎不仅搜索我的剃刀视图,而且搜索aspx/ascx页面。(我的bug被修复了)
有没有办法告诉它只搜索Razor视图引擎?
以下是显示的错误消息:
The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Areas/BO/Views/Organization/Index.aspx
~/Areas/BO/Views/Org
我将MVC添加到我现有的webforms项目中。一切都很顺利,除了RenderAction正在寻找.aspx文件
The view '_Mainmenu.cshtml' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Areas/NewPages/Views/Shared/_Mainmenu.cshtml.ascx
观点是
~/Areas/NewPages/Views/Shared/_M
我试图在ASP.NET MVC应用程序中实现特定于设备的视图,例如在这里:或这里:
虽然上面的文章是针对ASP.NET MVC4的,但它们的内容与框架的后期版本有关(我的应用程序使用了ASP.NET MVC 5.2)。
我偶然发现了一个问题。我有以下控制器:
public class TestController: Controller
{
public ActionResult Test()
{
return View(new TestModel());
}
public ActionResult Test2()
{
r
当我决定是时候进行一些维护时,我有了一个可以工作的MVC应用程序。我的视图都在共享目录下,我决定将它们移到单独的目录中。
我实现了一个在这里找到的CustomViewEngine:
视图结构如下所示
Views
AppViews
OtherAppViews
...
Shared
...
这是我遇到的一个错误:
The view at '~/Views/AppViews/SomeView.cshtml' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, o
现在已经有了MVC3预览1,我们可以使用Razor (.cshtml)视图引擎了。如果没有找到视图,我会得到这个错误:
The view 'a' or its master was not found. The following locations were searched:
~/Views/Home/a.aspx
~/Views/Home/a.ascx
~/Views/Shared/a.aspx
~/Views/Shared/a.ascx
~/Views/Home/a.cshtml
~/Views/Shared/a.cshtml
如果我不打算使用.aspx/.ascx查找
我需要呈现来自自定义位置的部分视图,但如果找不到自定义位置,还需要支持回退搜索位置。如何在MVC5中实现这一点。
@HTML.Partial("~/Parent/Child1/1.cshtml")
如果它是在这里找到的那就好。但如果没有,则应该在默认位置进行搜索。
@HTML.Partial("~/Parent/Default/1.cshtml")
我做了一些这样的事但不起作用。
var razorEngine = ViewEngines.Engines.OfType<RazorViewEngine>().First();
raz
我第一次尝试运行一个带有Razor的MVC3 web项目。该项目是由S#arp架构生成的,因此可能会缺少一些连接。
在Views文件夹下已经创建了带有Razor条目的事实web.config。以下是~/的错误
[InvalidOperationException: The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Index.aspx
~/Index.asc