gpt4 book ai didi

c# - 在两个继承的 Razor View 之间共享共同点

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:05 25 4
gpt4 key购买 nike

我想继承 Razor WebViewPage,因为我想为每个 View 执行一些通用代码,还有一些在特定模型驱动的 View 中。

我有2个继承类

public abstract class TemplateEngine : WebViewPage  {
///...code
}

public abstract class TemplateEngine<TModel> : WebViewPage<TModel> {
///...code
}

有一些代码我想使用,而不管 View 的类型是什么——无论是强类型还是非强类型,还有一些特定于强类型 View 。我不想复制它 - 本质上我希望强类型继承 View 能够访问我在通用继承 View 中编写的所有代码。

我想知道我是否遗漏了一些基本概念......所以任何指针都会很棒。

谢谢大家

最佳答案

我就是这样做的。我的非类型化类继承自类型为动态的类型化类。我没有在无类型类中定义任何新内容,因为它继承了我想要的一切。不确定这是最好的

abstract public class CxWebView<T> : WebViewPage<T>
{
/* all of the methods & properties I want available in every view */
}

abstract public class CxWebView : CxWebView<dynamic>
{
}

在我的 views/web.config 中,我将基本类型设置为 CxWebView

<pages pageBaseType="CxLib.Web.CxWebView">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Data" />
<add namespace="System.Data.Entity" />
</namespaces>
</pages>

关于c# - 在两个继承的 Razor View 之间共享共同点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com