动态包含 ASP.NET 个网页
Dynamic include with ASP.NET Web Pages
在 ASP.NET Web Pages/Razor 中有没有办法在不知道文件名称的情况下包含文件,例如 Helper 或类似的东西?
在 Web 窗体中,我通过动态添加用户控件来做到这一点,如下面的代码,但我想知道是否有一种方法可以在网页中做类似的事情?
ContentTemplateBase control = (ContentTemplateBase)Page.LoadControl("~/ContentTemplates/" + detail.Template + ".ascx");
control.DataSource = detail;
plhTemplate.Controls.Add(control);
我知道我可以用一堆条件语句来做到这一点,比如...
if (detail.Template== "Template1")
{
@MyHelpers.Template1(detail)
} else if (detail.Template== "Template2")
{
@MyHelpers.Template2(detail)
} ... etc
...但想这样做而不必列出所有可能的选项。
在重新阅读网页文档时,我发现我可以使用 RenderPage() 方法来包含来自另一个文件的代码,因此这似乎是最佳选择。
在 ASP.NET Web Pages/Razor 中有没有办法在不知道文件名称的情况下包含文件,例如 Helper 或类似的东西?
在 Web 窗体中,我通过动态添加用户控件来做到这一点,如下面的代码,但我想知道是否有一种方法可以在网页中做类似的事情?
ContentTemplateBase control = (ContentTemplateBase)Page.LoadControl("~/ContentTemplates/" + detail.Template + ".ascx");
control.DataSource = detail;
plhTemplate.Controls.Add(control);
我知道我可以用一堆条件语句来做到这一点,比如...
if (detail.Template== "Template1")
{
@MyHelpers.Template1(detail)
} else if (detail.Template== "Template2")
{
@MyHelpers.Template2(detail)
} ... etc
...但想这样做而不必列出所有可能的选项。
在重新阅读网页文档时,我发现我可以使用 RenderPage() 方法来包含来自另一个文件的代码,因此这似乎是最佳选择。