asp-for в бросках флажка и ошибка в ядре asp.net - PullRequest
0 голосов
/ 31 октября 2018

Здесь я использовал два флажка

<label asp-for="SendReport" class="checkbox-inline"><input type="checkbox" asp-for="SendReport" />Send Report</label><br>
<label asp-for="SendInvoice" class="checkbox-inline"><input type="checkbox" asp-for="SendInvoice" />Send Invoice</label><br>

и тип данных для checboc, т.е. asp-for="SendReport" and asp-for="SendInvoice" - bit.
Теперь проблема в том, что когда я пытаюсь загрузить страницу, она выдает ошибку, как показано ниже

Unexpected 'asp-for' expression result type 'System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]' for <input>. 'asp-for' must be of type 'System.Boolean' or 'System.String' that can be parsed as a 'System.Boolean' if 'type' is 'checkbox'.<br>


Любая помощь будет сердечно благодарна. Спасибо

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Это проблема с: asp-for="SendReport". Это не верно, потому что тег является вводом флажка типа, поэтому asp-for ожидает boolean и вы посылаете ему что-то еще, кроме логического значения.

См. Это:
Asp.net MVC помещает данные флажка в список логических значений

0 голосов
/ 31 октября 2018

Это потому, что asp-for - это всегда , ожидающий логический параметр, когда тип ввода - checkbox, или строковый параметр, который может быть проанализирован как логический .

Это сказало, имея предположение, что SendReport и SendInvoice не являются логическими значениями:

Неожиданный тип результата выражения «asp-for» System.Nullable`

вам придется изменить эти параметры на логические параметры, которые по умолчанию будут иметь значение false, или на строковые параметры, которые будут содержать "false" или "true" по умолчанию.

...