Forms in Edit mode like Text Box, Drop Down list and radio button list in ASP NET MVC 5:
Here we can learn how to edit the forms
To show the data :
private SampleEntities db = new SampleEntities();
// GET: Studentlist
public ActionResult Index()
{
var result = db.tblStudents.ToList();
return View(result);
}
Master table
1) Hobbies_Master 2) tblclass 3) tblGender
and transaction table: tblStudent
and store procedure used: 1) Get_student_Hobby 2) getClass 3) getGender
1) CREATE procedure [Get_student_Hobby]
@student_id int
as
DECLARE @str VARCHAR(500)
select @str=Hobbies from tblStudent where id=@student_id
CREATE TABLE #tblstudentHobbies (student_id int,Hobby VARCHAR(100))
WHILE LEN(@str) put here greater sign 0
BEGIN
DECLARE @Temphobby VARCHAR(100)
IF CHARINDEX(',',@str) put here greater sign 0
SET @Temphobby = SUBSTRING(@str,0,CHARINDEX(',',@str))
ELSE
BEGIN
SET @Temphobby = @str
SET @str = ''
END
INSERT INTO #tblstudentHobbies(student_id,Hobby) VALUES (@student_id,@Temphobby)
SET @str = REPLACE(@str,@Temphobby + ',' , '')
END
select hm.id,hm.hobby,isChecked=case when st.student_id is null then '0' else '1' end from #tblstudentHobbies st right outer join Hobbies_Master hm on st.hobby=hm.Hobby and st.student_id=@student_id where hm.isactive='Y'
2) create procedure getClass
@studentid int as
select tc.id,tc.class_name,
Admission_in_class=case when ts.Admission_in_class is null then '0' else '1' end from
tblclass tc left outer join tblStudent ts on tc.id=ts.Admission_in_class and ts.id=@studentid
3) create procedure [dbo].[getGender]
@studentid int
as
select tg.id,tg.Gender, isChecked=case when ts.gender is null then '' else 'checked' end from tblGender tg left outer join tblStudent ts on tg.id=ts.gender and ts.id=@studentid
edit mode
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
tblStudent tblStudent = db.tblStudents.Find(id);
Registration rg = new Registration();
rg.Student_Name = tblStudent.Student_Name;
// rg.Hobbies_Master = db.Hobbies_Master.Take(5).ToList put less sign here Hobbies_Master put here greater sign ();
rg.Hobbies_Master = populateHobby(id);
rg.tblclass = populateClass(id); // bind the drop down list tbl class
rg.genderlist = Genderlist(id);
TempData["student_id"] = id;
TempData.Keep();
return View(rg);
}
private List put here less sign Hobbies_Master put here greater sign populateHobby(int? id)
{
// Create an empty list to hold result of the operation
List put here less sign Hobbies_Master put here greater sign ls = new List put here less sign Hobbies_Master put here greater sign ();
SqlParameter[] param = new SqlParameter[] { new SqlParameter("@student_id", id) };
var result = db.Database.SqlQuery put here less sgin get_student_Hobby put here greater sign ("exec Get_student_Hobby @student_id", param).ToList();
// var result =db.Get_student_Hobby(id).ToList();
foreach (var item in result)
{
Hobbies_Master hb = new Hobbies_Master();
hb.id = item.id;
hb.Hobby = item.Hobby;
hb.isChecked = item.isChecked == "0" ? false : true;
ls.Add(hb);
}
return ls;
}
private List put here less sign SelectListItem put here greater sign populateClass(int? id)
{
// Create an empty list to hold result of the operation
var selectList = new List put here less sign SelectListItem put here greater sign ();
// var result = db.tblclasses.ToList();
var result = db.getClass(id).ToList();
foreach (var item in result)
{
selectList.Add(new SelectListItem
{
Value = item.id.ToString(),
Text = item.class_name,
Selected = item.Admission_in_class == "0" ? false : true
});
}
return selectList;
}
private List put here less sign tblGender put here greater sign Genderlist(int? id)
{
put here code for gender list
}