如何实例化Web.webpages.html.htmlhelper



在ASP.NET MVC 3中,默认的HTML助手来自System.Web.Mvc.Html。我想使用System.Web.WebPages.Html中的助手。尽我所能,我似乎无法获得实例或访问System.Web.WebPages.Html。这是我尝试的:

我在剃须刀上尝试了所有这些,因为我认为它不会那么复杂(hah)。

这是版本

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

使用新

首先,我尝试简单地实例化:

@{ var h = new System.Web.WebPages.Html.HtmlHelper(); }

直到我运行它并得到它之前,它似乎有效:

Compiler Error Message: CS0143: 
The type 'System.Web.WebPages.Html.HtmlHelper' has no constructors defined

使用反射

所以我认为这是一个抽象类,并试图继承它。不,这是一个实际的类,只是带有私人构造函数。所以我试图反映它

@using System.Reflection
@{
 BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public;
 System.Globalization.CultureInfo ci = null;
 var instance = (System.Web.WebPages.Html.HtmlHelper)Activator.CreateInstance(
    typeof(System.Web.WebPages.Html.HtmlHelper), 
    flags,
    null, 
    new object[] { ViewData.ModelState },
    ci
    );
}

导致此错误的哪个:

Exception Details: System.MissingMethodException: 
Constructor on type 'System.Web.WebPages.Html.HtmlHelper' not found.

希望直接访问

然后我尝试寻找一个活动版本:

var h = System.Web.WebPages.HelperPage.Html;

导致此错误(h为null)

Object reference not set to an instance of an object.

我尝试了这些版本的其他版本,这些版本也没有成功,并且会失去如何获得该课程的实例。我可以访问@Html,但是,正如我所说,对于这种情况,它不是正确的HtmlHelper

如何获得System.Web.WebPages.Html ??

的实例

system.web.webpages.html是名称空间而不是类,您无法实例化命名空间。

http://msdn.microsoft.com/en-us/library/system.web.webpages.html(v = vs.111).aspx

我认为您想要system.web.webpages.html.htmlhelper

最新更新