我在几个不同的方式尝试这样做:为什么我不能在我的用户控件中访问我的viewmodel?
1:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNameSpace.MyModel>" %>
2:
<%@ Import Namespace="MyNameSpace.MyModel" %>
但无论我做什么,我没有this.Model
访问或任何我期望看到的东西。项目中的其他控件和页面都可以访问这些内容,而且没有一个开发人员能够告诉我他们为什么可以和我不能。有任何想法吗?
编辑
从那时起,我已经创建了一些控件和页面。有时,intellisense认为this.Model
没有问题。它还发现像Html.RenderPartial()
和它应该找到的各种其他好东西。所以,对于那些会告诉我智力感知不起作用的人,你错了。它可以。但在所有观点中都不一致。据我和任何其他开发人员可以说,我没有做任何不同的事情。事情我已经尝试:
- 关闭解决方案
- 删除后的文件夹建立
- 重新打开解决方案
- 重建,无论是定期或分析建立
有时,这些步骤解决问题,但对于一些控件,我不能让红色的波浪线消失!这不是世界末日,因为它不会产生运行时错误,但我想了解这里发生了什么。当然有人已经经历了这一点,并已经知道问题的根源。
的第一个定义是正确的。你如何传递视图模型?你是什么意思,你无法访问它?你是否收到错误信息或什么?请稍微描述一下。 –
你在1中缺少一个尖括号。在MyModel后面应该有一个'>'。不知道这是否是一个错字。 –
您的导入的名称空间在“inherits”声明中与您的泛型模型类具有完全相同的名称。导入应该只是“MyNameSpace”。 –