C# 如何从MultiSelectList返回MvcHtmlString

C# 如何从MultiSelectList返回MvcHtmlString,c#,asp.net-mvc-4,html-helper,C#,Asp.net Mvc 4,Html Helper,我在项目中分叉了mvc4 MultiSelectList类来实现ToMvcHtmlString方法。如何从MultiSelectList实例内部获取纯html public MvcHtmlString ToMvcHtmlString() { return ???; } 您可以使用扩展方法HtmlHelper.ListBox来获取MvcHtmlString的实例(在今天的视图中通常用作@Html.ListBox()) 此扩展方法存在于Htm

我在项目中分叉了mvc4 MultiSelectList类来实现ToMvcHtmlString方法。如何从MultiSelectList实例内部获取纯html

public MvcHtmlString ToMvcHtmlString()
        {
            return ???;
        }

您可以使用扩展方法HtmlHelper.ListBox来获取MvcHtmlString的实例(在今天的视图中通常用作@Html.ListBox())

此扩展方法存在于HtmlHelper类的System.Web.Mvc.Html命名空间中。 因此,您只需按如下方式创建方法: -从视图中传入HtmlHelper实例通常用作@Html -其中name是ListBox所需的参数(您可以将其传入,也可以在类中对其进行硬编码-最好将其传入方法)

但是,这样做违背了从您自己的类中返回纯MvcHtmlString的目的。因为您仍然需要传入视图中可用的HtmlHelper,这意味着您可以使用以下代码来实现相同的功能:

@Html.ListBox(...)

HtmlHelper是必需的,因为它需要访问视图,因为在构建/填充列表时可能需要额外的信息。

我认为您可能需要手动构建selectlist html,并将其作为MvcHtmlString返回,如本页所示:您在应用程序中使用了哪个
MultiSelectList
@Html.ListBox(...)