Как создать страницу со строго типизированным представлением, используя ASP.NET MVC VB.NET XML Literals View Engine?

Я использую движок представления ASP.NET MVC VB.NET XML Literals, созданный Дмитрием Робсманом и описанный в его блоге в этом посте.

http://blogs.msdn.com/dmitryr/archive/2008/12/29/asp-net-mvc-view-engine-using-vb-net-xml-literals.aspx

Я хотел бы создать страницы со строго типизированным представлением, используя этот механизм представления, но он не содержит требуемого универсального типа VbView(Of TModel), с помощью которого я бы создал такой класс представления.

Конечный результат должен выглядеть примерно так:

Namespace Views.Client
    Public Class Details(Of Models.Client)
        Inherits SiteMaster

        Public Overrides Function RenderContent() As XElement
            Return _
            <fieldset>
                <legend>Fields</legend>
                <p>
                    FirstName:
                    <%= Xhtml.Encode(Model.FirstName) %>
                </p>
                <p>
                    MiddleName:
                    <%= Xhtml.Encode(Model.MiddleName) %>
                </p>
                <p>
                    LastName:
                    <%= Xhtml.Encode(Model.LastName) %>
                </p>
            <fieldset>
        End Function

    End Class
End Namespace

Когда появится класс VbView(Of TModel), унаследованный от класса Дмитрия VbView, мне понадобится помощь, чтобы выяснить, как его подключить, чтобы он работал со стандартными контроллерами MVC, которые вызывают представление таким образом.

Function Details(ByVal id As Integer) As ActionResult
    Dim c = SomeGetClientFunction(id)
    Return View(c)
End Function

1 ответ

Решение

Я скачал исходный код ASP.NET MVC C# и смог выяснить, как создать класс VbView(Of TModel), отразив часть этой структуры. Я создал проект на CodePlex, который содержит этот новый класс и пару других изменений, которые улучшают то, что сделал Дмитрий. http://vbmvc.codeplex.com/

Другие вопросы по тегам