强类型MVC2视图中的奇怪错误

时间:2010-07-30 21:17:21

标签: asp.net-mvc entity-framework

下面的ViewUserControl在运行时导致以下错误: Collection模板与“System.Data.Entity.DynamicProxies.Collection_1D9779ACB92AE24E3428C288EA7B1480A6477CF8861FB7582692E775613EFB3A”类型的对象一起使用,该对象未实现System.IEnumerable。

此行发生错误:<%: Html.EditorFor(model => model) %>

如果我将模型对象的名称更改为Collection2,则可以正常工作。它是否会混淆,因为Collection也是.net框架中对象的名称?

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CollectionManager.Models.Collection>" %>
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) { %>
    <%: Html.ValidationSummary(true) %>

    <%: Html.EditorFor(model => model) %>

    <input type="submit" value="Save" />
<% } %>

1 个答案:

答案 0 :(得分:0)

remco - 是的,我认为这绝对是一个保守的词。不确定它是否会混淆但是当你可能发生潜在的冲突时,你应该注意命名。对于变量名称也是如此,你可以在它们前面添加@来覆盖它,即string @absract是允许的,而string abstract则不允许。

使用'保留'流程:)

吉姆