- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经在我的 MVC3 Razor 应用程序 (ASP.NET) 中定义了一些自定义助手,并且在 ViewStart 代码中我想访问我的自定义助手。
我注意到它们在 _ViewStart 中不可访问,这似乎可以理解,因为 ViewStart 派生自 ViewStartPage 而不是 WebViewPage。
所以我尝试在自定义 ViewStart 类中定义助手,但事实证明我需要访问 ViewDataContainer 才能初始化助手。
所以,问题是,我如何从 ViewStart(或自定义 ViewStartPage)访问我的自定义帮助程序,如果不能,我能否用 NULL 初始化 viewDataContainer 构造函数属性。我不希望在我的自定义 ViewStartPage 中需要任何 ViewData 访问权限。
我也尝试实现自定义 ViewStart 类,但它给了我这个错误:
CustomViewStart does not implement inherited abstract member 'System.Web.WebPages.WebPageExecutingBase.Execute()'
我应该在该执行方法中做什么?我不想在 customViewStart 中做任何花哨的事情,只需访问我的助手。
最佳答案
好吧,毕竟我怀疑这是可能的,只是需要先整理出一些具体的技术细节。
public abstract class CustomViewStartPage : System.Web.Mvc.ViewStartPage {
public Helpers.InvariantHelper ConfigHelper { get; private set; }
public CustomViewStartPage() : base() {
ConfigHelper = new Helpers.InvariantHelper();
}
}
现在,我在我的 WebViewPage 自定义基页中定义了几个自定义助手,它们为 View 工作。但是,在 ViewStart 中我需要做某些不需要访问 ViewContext 的事情(这里只是一个微不足道的例子)(正如我最初认为的那样)。
因此,有了这个,我现在可以在我的 _ViewStart.cshtml 中拥有它:
@* Views/_ViewStart.cshtml *@
@inherits MyNamespace.Web.Mvc.CustomViewStartPage
@{
var something = ConfigHelper.DisableParentLayout;
}
当然,也可以像 @MortenMertner 指出的那样使用类的静态成员(从外部对问题的全新看法),但在某些情况下,这可能不是您真正想要的。此处的示例毫无意义,但目的是为需要的人说明如何完成它。
如果另一方面需要访问 ViewContext(另一个有效场景),您可能需要查看我上面评论中的帖子,其中描述了如何修改此自定义 View 起始页以无错误地访问上下文。
关于c# - 如何从 ViewStart 中访问(自定义)网络助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872031/
我刚开始阅读 ASP.NET MVC 4 这本书,遇到了一个问题。在 Razor 部分,作者说如果我不在 View.cshtml 文件中设置 Layout 变量,它将默认搜索 _ViewStart.c
我正在从空站点模板构建一个新的 ASP.Net Core 2.0,我正在尝试让 _ViewStart.cshtml 页面正常工作。我用以下代码创建了 Views -> Shared -> _ViewS
我正在开发一个 MVC 应用程序,该应用程序将由一些内部(即经过 Windows 身份验证的)员工使用。对我来说不幸的是,我们的 Active Directory 帐户并不知道每个员工的 ID——我们
我已经在我的 MVC3 Razor 应用程序 (ASP.NET) 中定义了一些自定义助手,并且在 ViewStart 代码中我想访问我的自定义助手。 我注意到它们在 _ViewStart 中不可访问,
我正在使用 Razor View 引擎,但有些东西我不太明白。 _ViewStart 文件指定一个具有完整文件路径的布局,如下所示: @{ Layout = "~/Views/Shared/_
在我的 MVC 项目中有 2 个区域,即管理和客户端,我需要为客户端动态配置布局,在 _ViewStart(在客户端)文件中将为所有客户端页面设置布局。 Layout = "~/Views/Share
我想在我的应用程序中有 2 个独立的布局。假设一个用于网站的公共(public)部分,另一个用于成员(member)端。 为了简单起见,我们假设每个站点的所有逻辑都被整齐地包装到 2 个不同的 Con
当我设置站点时,我没有预料到会有完全不同布局的部分,因此我将 ViewStart 页面放在 Views 文件夹的根目录中。重新组织所有 View 将是一个巨大的痛苦。 有没有办法在 View 中指定不
我是一名优秀的程序员,十分优秀!