首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTMLMVC5不能在类库项目内的Asp.net视图中使用Helpers

HTMLMVC5不能在类库项目内的Asp.net视图中使用Helpers
EN

Stack Overflow用户
提问于 2017-02-19 05:57:41
回答 2查看 746关注 0票数 0

我使用RazorMVC5制作了一个插件架构应用程序,所以我创建了一个类库项目,其中将包含一些控制器和一些嵌入式Asp.Net视图。一切正常,我引用了一些followingDlls `System.Web.Mvc/System.Web.Optimazations/System.Web.Razor/System.Web.WebPages/System.Web.WebPages.Razor/System.Web.helpers.

我添加了一个web.config文件,它包含以下内容:

代码语言:javascript
复制
<?xml version="1.0"?>

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <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="Plugin_1" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

  <appSettings>
    <add key="webpages:Enabled" value="false" />
  </appSettings>

  <system.web>
    <compilation debug="true" targetFramework="4.5.2" >


    </compilation>

    <httpRuntime targetFramework="4.5.2" />
    <pages>
      <namespaces>
        <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="Plugin_1" />
        <add namespace="Kendo.Mvc.UI"/>
      </namespaces>
    </pages>
    <httpModules>
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
    </httpModules>
  </system.web>

  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
</configuration>

我可以使用@model关键字等,但我不能使用html助手,如"@Html.ActionLink()等,@Html在vs 2015中不被识别!!有人能帮我吗?我在StackOF上看到了一些类似的问题,但它没有帮助。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-19 14:22:56

要使ASP.NET显示特定于Intellisense的属性,需要将类库的输出路径更改为bin

右键单击项目->属性-> Build ->将输出路径更改为“->/”

现在,如果你在你的类库中打开一个Razor文件,你会得到像Html.ActionLink这样的智能感知。

票数 1
EN

Stack Overflow用户

发布于 2017-02-21 22:34:33

您需要将razor引用添加到项目和web配置中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42321134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档