2013-05-06 163 views
-3

我不知道为什么有错误,如果任何人都可以向我说清楚,这将是伟大的。覆盖方法有无效的参数

public List<ElementModelForCourseIndex> GetElementModelsForCourseIndex(int elementId, int userId, int depthLevel = 2) 
    { 
     List<ElementModelForCourseIndex> TypesName; 
     ElementType type = new ElementType(); 
     using (var db = DataContextManager.AleStoredProcsContext) 
     { 

      TypesName = db.GetElementModelsForCourseIndex<ElementModelForCourseIndex>(elementId, userId, r => new ElementModelForCourseIndex{ 
        Id = ElementsModelsForCourseIndexMap.Id(r), 
        Identity = ElementsModelsForCourseIndexMap.Identity(r) 
       }).OrderBy(n=>n.Identity).ToList(); 
     } 
     foreach (ElementModelForCourseIndex typeContent in TypesName) 
     { 
      typeContent.Children = GetElementChildrenModelsForCourseIndex(elementId, userId, type.ModelId, depthLevel); 
     } 
    } 

    public List<ElementModelForCourseIndex> GetElementChildrenModelsForCourseIndex(int elementId, int userId, ElementType typeId, int depthLevel = 2) 
    { 
     using (var db = DataContextManager.AleStoredProcsContext) 
     { 
      return db.GetElementWithCalendarAndPermsByModel<ElementModelForCourseIndex>(elementId, userId, typeId.Id, r => new ElementModelForCourseIndex 
      { 
       IdentityName = ElementsModelsForCourseIndexMap.IdentityName(r), 
       ValueString = ElementsModelsForCourseIndexMap.ValueString(r), 
       TimeReleased = ElementsModelsForCourseIndexMap.TimeReleased(r), 
       TimeDue = ElementsModelsForCourseIndexMap.TimeReleased(r) 
      }).OrderBy(i => i.IdentityName).ToList(); 
     } 
    } 

错误是在顶部方法中,这条线需要返回一条语句。

+2

'type.ModelId'的类型是什么。该方法期待'ElementType'。 – 2013-05-06 01:59:00

+0

你会得到什么错误? – 2013-05-06 01:59:19

+1

http://stackoverflow.com/questions/16390039/returning-two-sets-of-action-in-one-controller – gunr2171 2013-05-06 02:02:33

回答

1

应该

typeContent.Children = GetElementChildrenModelsForCourseIndex(elementId, 
         userId, type, depthLevel); 

第三个参数是罪魁祸首。这需要ElementType和您提供type.ModelId(我猜是整数)

+0

我认为他有一个允许4个参数的重载(第二个函数)。 – gunr2171 2013-05-06 02:00:40

+0

@ gunr2171:再次检查我的答案。 – 2013-05-06 02:00:56

+0

它是一个整数,但是当我把它作为'type'加下划线并且说'使用未赋值的变量' – Masriyah 2013-05-06 02:05:11

1

看起来你需要type而不是type.ModelId通 - typeElementType

+0

为什么我会下降?我会注意到我没有复制;我的答案在Nikhil从“该函数只需要3个参数”编辑他的答案之前发布(与我的答案相匹配 - 我假定他在重新评估问题后得出了同样的结论)。 – Gjeltema 2013-05-06 02:04:09

+0

不是我...... – Masriyah 2013-05-06 02:05:35

+0

我更新了我的文章 – Masriyah 2013-05-06 02:31:17