2

我一直在关注这个教程,在过去的一个小时里我一直在努力完成这项工作,但我看不出我的错误在哪里,所以你去吧:我在项目文件中有一个扩展方法:

namespace TomApps.Toolbox.MVC.Security
{
    public static class HtmlExtention
    {
        public static MvcHtmlString GenerateSecureDataControls<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
        {
...
}}

我把我的网络配置:

<system.web>
    <customErrors defaultRedirect="/Home/Index"
                    mode="On">
      <error statusCode="404" redirect="error" />
    </customErrors>
    <compilation debug="true" targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
    </authentication>
    <pages controlRenderingCompatibilityVersion="4.0">
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
        **<add namespace="TomApps.Toolbox.MVC.Security"/>**
      </namespaces>
      <controls>
        <add assembly="Ext.Net" namespace="Ext.Net" tagPrefix="ext" />
      </controls>
    </pages>

然而,如果我不放

@using TomApps.Toolbox.MVC.Security 

在我看来,我不能使用它:

 @Html.GenerateSecureDataControls(model => model.RoleId)

起初我以为我是因为我的名字有冲突,但我看到我输入了一个错误的扩展名:) 知道出了什么问题吗?谢谢

4

1 回答 1

4

它需要在<system.web.webPages.razor>.. 下,如下所示:

<system.web.webPages.razor>
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
            <add namespace="TomApps.Toolbox.MVC.Security"/>
        </namespaces>
    </pages>
</system.web.webPages.razor>
于 2012-11-22T09:57:41.730 回答