为什么我无法在用户控件中访问我的viewmodel?

时间:2011-03-01 20:54:08

标签: c# asp.net-mvc user-controls view

我尝试过几种不同的方法:

1:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNameSpace.MyModel>" %>

2:

<%@ Import Namespace="MyNameSpace.MyModel" %>

但无论我做什么,我都无法访问this.Model或其他任何我希望看到的内容。项目中的其他控件和页面都可以访问这些,并且没有开发人员能够告诉我为什么他们可以和我不能。有什么想法吗?

修改

从那时起,我创建了一些控件和页面。有时,intellisense会发现this.Model没有问题。它还可以找到Html.RenderPartial()之类的内容以及它应该找到的各种其他好东西。所以,对于那些告诉我intellisense在视图中不起作用的人,你错了。它做了。但在所有观点中并不一致。就我和任何其他开发人员所说,我没有做任何不同的事情。我尝试过的事情:

  • 关闭解决方案
  • 删除帖子构建文件夹
  • 重新开启解决方案
  • 重建,常规或分析构建

有时这些步骤可以解决问题,但对于某些控制,我只是不能让红色的波浪线消失!它不是世界末日,因为它不会产生运行时错误,但我想了解这里发生了什么。当然有人经历过这个并且已经了解了问题的根源。

1 个答案:

答案 0 :(得分:3)

您也可以尝试将其添加到web.config:

  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="MyHtmlHelperLibrary.HtmlExtensions"/>
    <add namespace="MyOtherNamespace"/>
  </namespaces>