does not inherit from 'System.Web.WebPages.WebPage'问题

本文提供了解决WebAPI与MVC项目共存时出现的ViewBag和ViewData无法使用的问题方案,涉及修改web.config配置和删除特定文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 先说解决办法(不保证可行)

1、删除views文件夹下的web.config

2、将根目录的web.config中的

替换成

<system.web.webPages.razor>
    <host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.WebPages.WebPage">
      <namespaces>
        <add namespace="System.Web.Configuration" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

*替换后不能使用ViewBag

  • 问题猜想(有错请指教)

这个问题是出现在webapi和mvc共存的项目中。

通过msdn可知:

而IViewDataContainer接口下只有一个ViewData属性,

猜测是webapi的限制导致cshtml没有实现该接口导致继承错误,也导致了不能使用ViewBag、ViewData

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值