ASP. NET Core -> Label asp - не возвращать текст ярлыка - PullRequest
0 голосов
/ 18 июня 2020

По какой-то причине я не могу заставить свою метку отобразить ее, просто отображает текстовое поле. Я новичок в программировании и. NET Core. Я считаю, что это моя простая ошибка. Я просто не вижу этого. Есть идеи, пожалуйста?

Модель

namespace Web.Models
{
    public class Item
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public ItemType ItemType { get; set; }
        public string MapCode { get; set; }
    }
}

Контроллер

public ViewResult Create()
{
    return View();
}

Просмотр

@model Web.Models.Item

<div class="container">
    <form asp-action="NewRecord" method="post" class="form-group" role="form">
        <div class="form-group row">
            <label asp-for="Item.Name"></label>
            <div class="col-md-5">
                <input asp-for="Item.Name" class="form-control" placeholder="Name" />
            </div>
        </div>
    </form>
</div>

введите описание изображения здесь

1 Ответ

0 голосов
/ 18 июня 2020

На ваш взгляд, если вы явно задаете модель, вам нужно только указать имя свойства из этой модели. Это означает, что ваше представление должно выглядеть как следующий код, и вам не нужно, и вы не можете явно указать Item.Name :

@model Web.Models.Item

<div class="container">
<form asp-action="NewRecord" method="post" class="form-group" role="form">
    <div class="form-group row">
        <label asp-for="Name"></label>
        <div class="col-md-5">
            <input asp-for="Name" class="form-control" placeholder="Name" />
        </div>
    </div>
</form>

С другой стороны, если вы хотите использовать какое-то настраиваемое имя, вам следует использовать аннотации:

using System.ComponentModel.DataAnnotations;

Hovewer, возможно, здесь вы хотите использовать модели просмотра вместо непосредственно моделей, тогда вам понадобится проверка пользовательского интерфейса, пользовательские имена и т. Д. c. Следуйте этому примеру и попытайтесь понять лог c.

public class Item
{
    public int Id { get; set; }

    [Display(Name = "Some name")]
    public string Name { get; set; }

    [DisplayName("Map code")]
    [MaxLength(30)]
    public string MapCode { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...