У меня есть пользовательский помощник html с последним параметром типа bool. Мой код отлично работает, когда в базе данных есть данные. Но, без данных, он выдает следующее сообщение об ошибке:элемент модели, переданный в словарь, имеет тип «System.Boolean», но для этого словаря требуется элемент модели типа «MyProject.checkboxstate»
System.NullReferenceException: Object reference not set to an instance of an object.
Затем я попытался проверить на возможное «нулевое значение» и отправить значение как «ложь» к мнению, по-видимому, не увенчались успехом.
public ActionResult Index()
{
bool? defaultVal = true;
var dbValue = context.checkboxstates.Where(c => c.Name == "Country").FirstOrDefault();
if (dbValue == null)
{
return View(defaultVal);
}
return View(dbValue);
}
Мой Вид:
@model MyProject.CheckboxState
@Html.MyCustomHtmlHelper("text", "AnotherText", "changeState", Model.state)
Здесь Model.state отвечает за «флажок» флажок «проверено» или «непроверенные», основанный на возвращаемое значение из базы данных. У меня нет модели, поскольку я использую первый подход к базе данных.
Если я пытаюсь передать явно логическое значение из контроллера, я получаю сообщение об ошибке:
The model item passed into the dictionary is of type 'System.Boolean', but this dictionary requires a model item of type 'MyProject.checkboxstate'.
Я ценю, что вы пытаетесь поставить вопрос как «РЕШЕННЫЙ», но правильный подход - принять один из ответов. Это автоматически удалит вопрос из представления «без ответа». Это также, и, возможно, самое главное, дает кредит тому, кто помог вам туда добраться. –
Не удалось увидеть вкладку выбора ответа. Спасибо, что указали это. –