Значение бритвы MVC5 не может быть нулевым или пустым.Имя параметра: имя - PullRequest
0 голосов
/ 05 февраля 2019

Ошибка источника: строка 22: @ Html.TextBoxFor (model => model.DailyCurrencyRates ___ BuyingCurrency, new {@id = "test", @class = "form-control"})

Я застрял в этой проблеме на несколько дней и не могу обойти эту ошибку.Я просто хочу сделать частичное представление с элементами родительского класса.ниже мой код: пожалуйста, попросите дополнительную информацию, если это необходимо.

Контроллер

public ActionResult AddRecord(int index)
{
  return PartialView("_AddItem", new ForexItem { Index = index});
}

Родительский вид

@foreach (ForexItem item in Model.ForexItems)
{
    Html.RenderPartial("_AddItem", item);
}

Частичный вид

@model F.Models.Entities.ForexItem

@Html.TextBoxFor(model => model.DailyCurrencyRates___BuyingCurrency, new { @id = "test", @class = "form-control" })

Модель

public partial class ForexItem
 {
        public int ID { get; set; }

        [NotMapped]
        [StringLength(1000)]
        [Display(Name = "Buying")]
        public string DailyCurrencyRates___BuyingCurrency { get; set; }

        [NotMapped]
        public int Index { get; set; }
}

Ответы [ 2 ]

0 голосов
/ 22 июля 2019

Я получил ту же неясную, непонятную ошибку, когда увеличил число подчеркиваний в имени свойства модели с 1 до 2. Обратите внимание, что ошибка не возникла для помощника LabelFor непосредственно перед помощником TextBoxFor, а только в TextBoxForпомощник, так же, как вы получили.(Я заметил, что имя вашего свойства («DailyCurrencyRates___BuyingCurrency») имеет 3 подчеркивания.) Затем оно исчезло, когда я удалил лишнее подчеркивание из имени свойства.Как и в случае с дополнительным подчеркиванием, Razor не может найти имя свойства, поэтому вместо этого он просто ищет (универсальное) «имя», которое он также не может найти.

0 голосов
/ 06 февраля 2019

Это может быть опечатка, но мне кажется, что вы должны изменить Model.ForexItems на Model.ForexItem - нет s.На основании вашего представленного кода.… Или, может быть, просто используйте Model, поскольку вы уже включили ForexItem в качестве этого?

Родительский вид

@foreach (ForexItem item in Model)
{
    Html.RenderPartial("_AddItem", item);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...