Как для вставки и обновления значений флажок в ASP.NET в MVC?
Всем Привет,
Я выполняю операцию CRUD в MVC.
Я застрял с чекбоксом.
Я просто использую элементы управления флажками html.
Для подключения к базе данных я использую технологию Entityframework.
< div class= "col-sm-4">
< input type= "checkbox" name=" Hobbies "value=" Reading " / & gt;Reading
< тип входного="флажок" название="хобби" значение="по-походному" /&ГТ;; путешествия
в <тип входного="флажок" название="хобби" значение="Спящие" /&ГТ;спальный
< / div>
Пожалуйста, помогите мне.
Что я уже пробовал:
Я знаю, как сделать в asp.net WebForms и но не получает никакого представления о MVC.
Получил некоторую воздушную защиту от операции crud, но она не содержит контрольного флажка.
F-ES Sitecore
MVC-это фреймворк презентации, он не имеет возможности делать CRUD, для этого вы должны использовать технологию доступа к базе данных, но вы не сказали, что это за технология. Мы также не знаем, является ли ваша проблема чтением текстовых полей или обновлением базы данных. Если вы загуглите и то, и другое, я уверен, что вы найдете статьи о том, как это сделать.
aditya2314
Я использую enity framework и могу вставлять данные в базу данных. Я нахожу только проблему для обновления значения флажка.
aditya2314
Вот как я использую для сохранения нескольких значений флажков в базе данных asp.net веб-формы.
струнная плита = "";
for (int i = 0; i < Chklist.Предметы.Граф; i++)
{
если (Chklist.Элементы[я].Selected = = true)
{
HOB += Chklist.Элементы[я].Текст + ",";
}
}
ПЛИТА = ПЛИТОЙ.TrimEnd(',');
Но не получить идею в mvc?
F-ES Sitecore
Ваши действия
public ActionResult MyAction(string[] ))
Ваш массив "хобби" теперь представляет собой список выбранных значений
aditya2314
Уважаемый господин,
Ниже приведена модель.
студент публичного частичного класса
{
public int Id { get; set; }
public string Name { get; set; }
public string MobileNo { get; set; }
public string Age { get; set; }
квалификации государственных строку { получить; набор; }
public string Hobbies { get; set; }
public string Gender { get; set; }
public string FilesName { get; set; }
общественного значения null&ЛТ;система.датавремя&ГТ; CreatedDate { получить; набор; }
общественного значения null&ЛТ;система.датавремя&ГТ; UpdatedDate { получить; набор; }
общественного значения null&ЛТ;типа bool и GT; состояния { получить; набор; }
}
Ниже находится контроллер.
[HttpPost]
public ActionResult Create(Student objStudent, string[] ))
{
пробовать
{
Студент остудент = новый студент();
objStudent.CreatedDate = DateTime. Now;
objStudent.Статус = true;
мак.Студенты.Добавить (objStudent);
Мак.Метод SaveChanges();
return RedirectToAction ("/Index", " Student");
}
поймать (исключение бывший)
{
бросок экс;
}
}
Я получаю только одно значение флажка в объекте ObjStudent.
Пожалуйста помочь.
F-ES Sitecore
Конечно, вы получаете только одно значение, которое является строкой. Как вы можете иметь несколько значений в строке? Для нескольких значений вам нужен массив или список и т. д. Измените хобби на массив
public string[] Hobbies { get; set; }
aditya2314
- Спасибо, сэр.
Теперь я получаю несколько значений флажков. Но данные не сохраняются в базе данных и получают эту ошибку.
"Тип сущности Student не является частью модели для текущего контекста".
С тех пор, как я изменил свою модель.
public string[] Hobbies { get; set; }
Нужно ли мне изменить свою модель и сделать ее тип списка?
Код контроллера находится здесь:
[HttpPost]
public ActionResult Create(Student objStudent)
{
пробовать
{
струнная плита = "";
for (int i = 0; i & lt; objStudent.Хобби.Длина; i++)
{
hob += objStudent.Хобби[i].Метод toString() + ",";
}
плита = плитой.TrimEnd(',');
objStudent.Увлечения = плитой.Расщеплять(',');
Студент остудент = новый студент();
objStudent.CreatedDate = DateTime. Now;
objStudent.Статус = true;
мак.Студенты.Добавить (objStudent);
Мак.Метод SaveChanges();
return RedirectToAction ("/Index", " Student");
}
поймать (исключение бывший)
{
бросок экс;
}
}
Пожалуйста, помогите, сэр.
F-ES Sitecore
Это совершенно другая проблема, вам лучше создать новую тему на ней, однако сначала погуглите сообщение об ошибке и просмотрите все предложения, которые вы найдете.
Edit: кроме того, объединение нескольких значений в одно поле, как вы это делаете, почти всегда является плохой идеей. Вместо того, чтобы установить родителя\ребенка отношения между студентом и стол Student_Hobbies.
aditya2314
Спасибо вам, сэр, за ваше замечательное предложение и быстрый ответ.
Большое спасибо.