aditya2314 Ответов: 0

Как для вставки и обновления значений флажок в 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

Спасибо вам, сэр, за ваше замечательное предложение и быстрый ответ.
Большое спасибо.

0 Ответов