Не удается получить метаданные объекта для работы в MVC 2 с VB.NET - PullRequest
2 голосов
/ 07 октября 2011

Я пытаюсь использовать метаданные для дальнейшего определения объектов моей сущности, используя MVC2, LINQ to SQL и VB.NET. Вот два основных фрагмента кода:

<HiddenInput(DisplayValue:=False)> _
    <Column(IsPrimaryKey:=True, IsDbGenerated:=True, AutoSync:=AutoSync.OnInsert)> _
    Public Property ItemID As Integer
        Get
            Return _itemID
        End Get
        Set(value As Integer)
            _itemID = value
        End Set
    End Property

        <DataType(DataType.MultilineText)> _
    <Column()> _
    Public Property Description As String
        Get
            Return _description
        End Get
        Set(value As String)
            _description = value
        End Set
    End Property

Вот код для моего взгляда:

<div class="editor-label">
            <%: Html.LabelFor(Function(model) model.ItemID) %>
        </div>
        <div class="editor-field">
            <%: Html.TextBoxFor(Function(model) model.ItemID) %>
            <%: Html.ValidationMessageFor(Function(model) model.ItemID) %>
        </div>

 <div class="editor-label">
            <%: Html.LabelFor(Function(model) model.Description) %>
        </div>
        <div class="editor-field">
            <%: Html.TextBoxFor(Function(model) model.Description) %>
            <%: Html.ValidationMessageFor(Function(model) model.Description) %>
        </div>

В первом примере мой Create View должен отображать входной тег «скрытым» в результирующем html. Во втором примере мой Create View должен визуализировать более крупное поле ввода текста для описания из-за метаданных и метаданных соответственно. Однако ничего не происходит.

Первое, что приходит мне в голову, это то, что, возможно, я неправильно определяю метаданные в VB.NET. Все мои примеры определения метаданных находятся на C # ... Я могу найти абсолютно нулевые примеры в VB.NET. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 07 октября 2011

Html.TextBoxFor() всегда отображает видимое текстовое поле. Отсюда и название. :)

Чтобы иметь другой тип редактора на основе атрибутов, используйте Html.EditorFor().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...