2017-01-06 1 views
1

Я пытался сделать две галочки на странице cshtml ASP.NET ядра, как это:Checkbox превращается ввода текста ASP.NET Ядра

<div class="checkbox"> 
     <input asp-for="IsDesktop" /> 
     <label asp-for="IsDesktop">Desktop page</label> 
    </div> 

    <div class="checkbox"> 
     <input asp-for="IsPhone" /> 
     <label asp-for="IsPhone">Phone page</label> 
    </div> 

Этот код дает два различных результата! One type="text", and one type="checkbox" (see picture)

Оба столбца базы данных имеют тип «бит» (либо 1, либо 0 для истины или ложных).

Что делает один из этих входов в виде текстового ввода?

+2

Вы говорите о столбцах базы данных, которые не имеют значения, вы должны показать свою модель и какие типы эти свойства имеют на вашей модели. скорее всего, один из них - это int вместо bool, поэтому он получает текст вместо флажка –

+0

Интересно. Моя модель была создана автоматически из уже существующей базы данных через строительные леса, поэтому я считаю, что типы баз данных значительны. Хороший намек. Разница в автогенерированной модели была «bool?» против "bool" –

ответ

0

Ответ: Из комментария Джо Одетт, я обнаружил, что модель показала один тип данных, как «BOOL?» а другой - «bool».

Для того, чтобы сделать эти флажки, я должен был сделать столбцы в базе данных обнуляемыми и регенерировать мои модели, чтобы сделать их «bool?».