2012-12-07 4 views
0

검색을 시도했지만 검색 할 내용이 확실하지 않습니다. MyModel 유형의 모델을 사용하는 HtmlHelper 확장을 만들려고합니다. 그러나보기 모델 형식 목록 (Of MyModel) 걸립니다. 보기 모델 (MyModel의) 목록이며, 나는 예외 '사전에 전달 모델 항목을 얻을 제네릭 유형이 새 HTMLHelper 인 경우

For Each Item in Model 
    Html.MyHelper(Item) 
Next 

를 사용하여 원래 단지 MyModel을 위해 만들어졌습니다 내 확장, 입력 'System.Collections.Generic.List이다 1 [MyModel] ''이 사전에는 'MyModel'유형의 모델 항목이 필요합니다. '

내 원래 도우미

Public Function FormatTable(Of T As Class)(helper As HtmlHelper, model As T) as OutModel(Of T) 

내가

Public Function FormatTable(Of List(of T As Class))(helper As HtmlHelper, model As T, 
     tableType As RenderType, Optional columns As Integer = 2) As FormatTable(Of T) 

뭔가를 원하거나 내가 전달하는보기에서 새 도우미를 작성해야합니까?

답변

1

비록 내가 Function MyExtension(of List(Of T as Class))(model as T)을 수행하는 방법을 모르거나 그것이 가능하다해도, 나는 나의 상황을 해결했다. 다른 클래스 유형의 HtmlHelper를 만들고 다른 모델을 사용하여 MvcUtil을 찾아야했습니다.

는이 게시물 건너 온 : 내보기에서 Stronglytyped html helper with different model for get and post

내가 내 htmlextension

For Each Item in Model 
    @Html.HtmlHelperFor(Of MyType)().MyExtension(Item) 
Next 

를 호출하는 새로운 모델의 형태의 새로운 Html 헬퍼를 작성하고 지금 검사에게이

If(IsNothing(helper.ViewData.Model)) Then 
    helper = helper.HtmlHelperFor(Of T)(model) 
End If 

내보기에서 목록을 반복 할 때 내 문제가 해결되었습니다.

관련 문제