我有一个ASP.NET MVC3 Razor Web应用程序。
我有一个WebViewPage扩展:
public static bool Blah(this WebViewPage webViewPage)
{
return blah && blah;
}
我想通过我的HtmlHelper扩展来访问:
public static MvcHtmlString BlahHelper(this HtmlHelper htmlHelper, string linkText, string actionName)
{
// how can i get access to t
我有一个非常基本的自定义WebViewPage类,在该类中,我希望为自定义属性赋值。这是我的密码:
public abstract class WebViewPage :
System.Web.Mvc.WebViewPage {
public Employee UserPrincipal { get; set; }
public override void Execute() {
// Controller is also a custom class that contains the same property which is injected
我想在MVC3中使用我自己的WebViewPage,当我创建一个具有特定名称的抽象类,并在Web.config中将WebViewPage更改为我自己的类型时,我得到了这个错误:
Compiler Error Message: CS0308: The non-generic type 'Aya.Moj.Web.Controllers.MojWebViewPage' cannot be used with type arguments
自定义WebViewPage代码:
namespace Aya.Moj.Web.Controllers
{
public abstract
在我的ASP.NET核心2项目中,我创建了继承RazorPage类的新类,以在视图中添加一些附加属性。
public abstract class WebViewPage<TModel> : Microsoft.AspNetCore.Mvc.Razor.RazorPage<TModel>
{
public string Version
{
get
{
return "1.00.100";
}
}
public User CurrentUser
我有自定义的WebViewPage,在这个类中,我有我需要从ActionFilter初始化的属性。在这个过滤器中,我使用了OnActionExecuting(ActionExecutingContext filterContext)方法。我可以从我的自定义WebViewPage访问属性吗?
CustomViewPage
public class BaseViewPage : WebViewPage
{
public List<IAlert> Alerts { get; set; }
public override void Execute() { throw new
下面是我得到的错误:
System.InvalidOperationException: The view at '~/Views/Home/Root.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
在本地dev box上运行良好。发布到主机,错误太多...
在将MvcSiteMapProvider MVC4升级到MVC5之后,我遇到了一个问题。我为我的视图使用了一个自定义的"pageBaseType“,而MvcSiteMapProvider MVC5似乎不允许这样做?我一直收到错误:
The view at '~/Views/Shared/DisplayTemplates/SiteMapPathHelperModel.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
在@Html.MvcSiteMap().SiteMapPath()。
但
扩展Razor视图引擎以添加其他关键字的最佳过程是什么?
public abstract class BaseViewData<TModel,TController> : ViewDataDictionary<TModel>
(指定TController以选择性地允许对父Controller的强类型回调)
当您调整MSBuild系统以将视图预编译到输出程序集中时,这非常有效-不再需要.aspx或.cshtml文件!
在ASP.NET MVC (使用WebForms视图引擎)中,我有自己的ViewPage基子类:
public class ViewPage2<TV
与类似,我使用自定义VirtualPathProvider来检索嵌入到dlls中的视图。如果我不把@inherits System.Web.Mvc.WebViewPage放在我的视图上,我会得到这个错误:
The view at '~/Views/Home/Index.cshtml' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.
我使用的是一个继承自WebViewPage的自定义BaseViewPage。在我开始使用这个自
我打开了一个现有的ASP.NET MVC3项目,该项目以前在安装了Visual Studio2012的新建机器上运行良好。
我现在在下面的代码中得到了空异常。用户登录后,将执行以下代码来执行页面片段级别的访问。
在WebViewPage.User对象上抛出空异常。但是,在调试模式下,我实际上可以检查对象的真实实例(见下图)。
public static class WebViewPageExtensions
{
public static bool HasAccess(this WebViewPage pg)
{
if (pg == nu
我继承了一个代码库,并找到了一些代码,我不知道为什么(以及是否)需要它。
这是一个定制的ViewPage,但是我们有相同的代码重复两次-一次用于ViewPage,一次用于ViewPage<T>。
基本上:
public class MyPageBase : WebViewPage
{
//A whole bunch of properties intended to be accessible on every page
}
public class MyPageBase<T> : WebViewPage<T>
{
//The exact s
我了解到,在ASP.Net MVC中,剃刀视图被编译成从System.Web.Mvc.WebViewPage类或其泛型版本派生出来的C#类。例如,如果我在控制器调用"Home“上有一个名为"Index”的视图,则剃刀解析器将构建一个类似于以下内容的C#类:
public class _Page_Views_Home_Index_cshtml : System.Web.Mvc.WebViewPage
{
public _Page_Views_Home_Index_cshtml()
{ }
public override void Execute()
我定义了一个自定义WebViewPage类型,它具有我们的站点使用的自定义属性:
public abstract class BasePage : WebViewPage
{
public string OmniPageName { get; set; }
}
public abstract class BasePage<TModel> : WebViewPage<TModel> where TModel: class
{
public string OmniPageName { get; set; }
}
在我
当在其他文件夹中调用PartialView而不是视图文件夹时,我得到了“必须从PartialView派生”错误。
误差
System.InvalidOperationException: The view at '~/Modules/HtmlContent/_HtmlContent.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
PartialView adding
Page.cshtml
<div class="side">
@Html.Action(&
我在文件夹视图-部门中有我的视图'Create.cshtml‘。我想使用局部视图,它位于根目录下的文件夹'CommonViews‘中,名称为’_EnterpriseStrutire.cshtml‘。我使用的是语法RenderPartial
@{Html.RenderPartial("~/CommonViews/_EnterpriseStructure.cshtml");}
部分视图代码
<div id="Client">
This is a Partial View.
</div>
当被执行时,我得到的是Syste
我正在关注,并试图使其适用于Razor,而不是WebForm视图。
其他一切(控制器、插件程序集加载等)似乎都没问题。但是,我无法让嵌入式Razor视图正常工作。当我试图浏览到"HelloWorld/Index“时,我得到了以下错误:
The view at '~/Plugins/MyProjectPlugin.dll/MyProjectPlugin.Views.HelloWorld.Index.cshtml' must derive from WebViewPage or WebViewPage<TModel>.
异常是由System.Web.Mvc.Ra