从继承WebViewPage< >的类调用RenderAction和Partial
本文关键字:调用 RenderAction Partial 继承 WebViewPage | 更新日期: 2023-09-27 18:04:53
我有MVC 5项目,我有一堆视图,我已经在网络上设置了它。从WebViewPage继承自定义类,这样我就可以添加所有视图都可以使用的属性/方法。
public abstract class SCView<T> : WebViewPage<T>
{
}
我碰巧有一点表示逻辑(是的,我知道,不是很好-但我必须这样做,出于很多不同的原因)。逻辑很简单,如下所示:
if([condition])
{
Html.RenderAction("DoThis", "Page", new { Area = "Common", model = Model, viewname = "TitlePanel" });
}
else if([another condition])
{
Html.Partial("/Areas/Common/Views/Media/TitlePanelEdit.cshtml", Model) *@
}
基本上,如果满足第一个条件,我需要显示某个控制器动作-否则,呈现不同的部分视图。
我不想在每个视图中都这样做-所以我希望以某种方式将此逻辑合并到CustomView类中。然而,我发现Html助手方法不能直接在这个类中使用-如果我在控制器中,这显然会更容易。有没有什么方法可以让这个逻辑集中起来?
也许我在你的问题中遗漏了一些东西,然而,在我看来,你只需要标准化你的呼叫。
要么选择
@Html.Action
@Html.Partial
或
@Html.RenderAction
@Html.RenderPartial
而不是混合类型,那么你的viewbase逻辑将能够返回相同的类型,要么在渲染的情况下无效…这些输出到流,或者mvchtmlstring如果你使用非渲染版本