HTML帮助器RenderPartial如何工作?如何实现可以从局部视图引入内容的助手?

问题描述 投票:6回答:3

当您使用Html.RenderPartial时,将获取要渲染的视图的名称,并在该位置渲染其内容。

我想实现类似的功能。我希望它使用您要呈现的视图的名称以及其他一些变量,并在容器中呈现内容。

例如:

public static class WindowHelper
{
    public static string Window(this HtmlHelper helper, string name, string viewName)
    {
        var sb = new StringBuilder();

        sb.Append("<div id='" + name + "_Window' class='window'>");
        //Add the contents of the partial view to the string builder.
        sb.Append("</div>");

        return sb.ToString();
    }
}

有人知道该怎么做吗?

[当您使用Html.RenderPartial时,使用您要渲染的视图的名称,并在该位置渲染其内容。我想实现类似的东西。我想要它的名字...

c# asp.net-mvc html-helper partial-views renderpartial
3个回答
8
投票

RenderPartial扩展被编程为直接呈现到Response对象...您可以在它们的源代码中看到它:


8
投票

我们正在MVC 2中解决此问题。您将能够调用Html.Partial()并以字符串的形式获取视图的实际内容。


0
投票

为什么不创建第二个视图并在其中具有局部视图,将Name作为ViewData或在模型中传递等等。

© www.soinside.com 2019 - 2024. All rights reserved.