【问题标题】:Razor syntax broken on MVC 5 views VS2013剃刀语法在 MVC 5 视图 VS2013 上被破坏
【发布时间】:2015-10-25 05:18:48
【问题描述】:

我有以下问题:

Razor 语法在视图中显示错误并且在大多数情况下不会自动完成,例如:

@model someModel // The name 'model' does not exist in the current context

@Html.EditorFor(m=>m.SomeProp) // System.Web.WebPages.Html.HtmlHelper does not contain a defenition for 'EditorFor'.... same for .Partial and  .OtherExtensions

//This do work:
@Html.CheckBox //.DropDown .Encode .Hidden ect... (The non extended properties of html)

我基于类似的 SO 主题所做的尝试:

  1. 确保我在主目录的 web.config 上有相同的网页/mvc 版本。并在 Views 目录中。

  2. 卸载项目,删除 .user 文件,重新加载项目(虽然有帮助)

  3. 重建/清理/删除 bin 文件

这快把我逼疯了,请帮忙!

添加:使用网页 3.0.3XXX 和 MVC 5.2.3XXX

添加 #2:这似乎是因为 Views 目录被分离到另一个项目 - 不要这样做!使用与您的 mvc 控制器相同的项目中的视图。

【问题讨论】:

  • 您是否碰巧从旧版本升级到 MVC 5?如果是,则对以前的版本号(如 System.Web.Mvc 4.0.0.0)进行全包式搜索会有所帮助。我以为我也检查了每个 .config 文件,但有一些残留的东西。
  • Tnx,我已经搜索了 web.system.mvc 和网页的整个解决方案,都是 5.2.3.0 和 3.0.0,我没有从 4 升级,这是一个新项目 MVC5
  • @ZivWeissman 您是否尝试在视图顶部添加 @using 命名空间?
  • @User3250 tnx 供您输入,是的,我已经尝试过使用。
  • 一年以来似乎没有任何效果:)

标签: c# asp.net-mvc razor visual-studio-2013 asp.net-mvc-5


【解决方案1】:

MVC 架构总是在以下文件夹中寻找视图

~/Views/ControllerName/ActionName.[cshtml|vbhtml|aspx|ascx]

~/Views/Shared/ActionName.[cshtml|vbhtml|aspx|ascx]

其次,您可以根据this 文章指定查找位置。虽然自己从未尝试过。

【讨论】:

    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2014-03-04
    • 1970-01-01
    • 2013-11-21
    • 2014-01-19
    • 1970-01-01
    相关资源
    最近更新 更多