0

Я делаю свои первые предварительные шаги в MVC3 и столкнулся с проблемой перевода свойств навигации в модель на представление. Похоже, что в представлении навигационные свойства не позволяют проверять на стороне клиента, а также атрибут метки «Отображать».MVC3 Свойства атрибутов навигации и проверка на стороне клиента

Я имею следующую простую модель:

public class Entity 
{ 
    [Key, 
    ScaffoldColumn(false)] 
    public int Entity_Id { get; set; } 

    [Display(Name = "Entity Name"), 
    Required(ErrorMessage = "Please enter the entity name."), 
    StringLength(150, ErrorMessage = "Please ensure that the entity name is under 150 characters.")] 
    public string Entity_Nm { get; set; } 

    [Display(Name = "Entity Type"), 
    Required(ErrorMessage="Please select the entity type"), 
    ForeignKey("EntityType")] 
    public int EntityType_Id { get; set; } 

    public virtual EntityType EntityType { get; set; } 
} 

, который ссылается на эту модель:

public class EntityType 
{ 
    [Key] 
    public int EntityType_Id { get; set; } 

    [Display(Name = "Entity Name"), Required(ErrorMessage="Please enter the entity type name.")] 
    public string EntityType_Nm { get; set; } 
} 

Когда я создаю контроллер с операции чтения/записи и представления для этой модели я получаю создать форма:

<fieldset> 
    <legend>Entity</legend> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Entity_Nm) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Entity_Nm) 
     @Html.ValidationMessageFor(model => model.Entity_Nm) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.EntityType_Id, "EntityType") 
    </div> 
    <div class="editor-field"> 
     @Html.DropDownList("EntityType_Id", String.Empty) 
     @Html.ValidationMessageFor(model => model.EntityType_Id) 
    </div> 

    <p> 
     <input type="submit" value="Create" /> 
    </p> 
</fieldset> 

Это прекрасно, кроме метки для раскрывающегося списка Тип сущности , по какой-то причине он не подбирает атрибут «Показать» свойства навигации в модели (обратите внимание на отсутствие пробела). Кроме того, валидация на стороне клиента не включена для раскрывающегося списка (проверка на стороне сервера работает без проблем), несмотря на то, что украшение свойства имеет атрибут «Обязательный». Проверка на стороне клиента работает с другими полями. Обратите внимание, что все необходимые файлы сценариев .js включены, и я также добавил соответствующие ключи проверки активации в web.config.

Любые идеи, что мне здесь не хватает? Спасибо всем и каждому.

ответ

0

для DropDownList выпуска дисплея попробуйте ниже

@ Html.LabelFor (модель => model.EntityType_Id)

+0

Благодаря swapneel я уже использовал, что для решения этой проблемы этикетки, речь идет почему форма создается с дополнительным параметром? Это означает, что если форма автоматически сгенерирована снова, мне нужно будет запомнить это изменение. –

Смежные вопросы