سلام.وقت بخیر
نیاز دارم که اطلاعات انتخابی کاربر را به صورت چک باکس لیست که موارد ثبت شده کاربر تیک خورده باشتد رو نمایش بدم
ثبت اطلاعات رو انجام دادم با ساختار زیر:
کد مربوط به مدلم
public IList<int> SelectedRoles { get; set; } public IList<SelectListItem> AvailableRoles { get; set; } public RoleModel() { SelectedRoles = new List<int>(); AvailableRoles = new List<SelectListItem>(); }
کد مربوط به کنترلر:
private IList<SelectListItem> Get_Roles() { var query = from m in db.Roles select new {m}; var Rlist = new List<SelectListItem>(); foreach (var item in query) { Rlist.Add(new SelectListItem() { Value = item.m.RoleID.ToString(), Text = item.m.RoleName, }); } return Rlist; } public ActionResult UserRoles(long? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var CurrentPerson = (from Person in db.LeagueGame join User in db.Users on Person.PersonID equals User.PersonID where User.UserID == id select Person).FirstOrDefault(); ViewBag.UserID = id; ViewBag.PersonLastName = CurrentPerson.LastName; ViewBag.PersonFirstName = CurrentPerson.FirstName; var model = new RoleModel { AvailableRoles = Get_Roles() }; return View(model); }
و کد در ویو::::
<div class="col-md-6" style="background-color: azure"> @foreach (var item in Model.AvailableRoles) { <div class="checkbox" align="right"> <label style="padding-right: 1px" class="checkbox-inline"> <input type="checkbox" dir="ltr" name="SelectedRoles" value="@item.Value"/> @item.Text </label> </div> } </div>
و اکشن مربوط به ثبت
[HttpPost]
public ActionResult UserRoles(RoleModel model, long? id)
{
if (ModelState.IsValid)
{
var Roles = string.Join(",", model.SelectedRoles);
if (ModelState.IsValid)
{
if (model.StartDate != null)
{
model.StartDate = model.StartDate.Value.ToMiladiDate();
}
else
{
model.StartDate = DateTime.Now;
}
if (model.EndDate != null)
{
model.EndDate = model.EndDate.Value.ToMiladiDate();
}
else
{
model.EndDate = DateTime.Now;
}
try
{
db.Insert_UsersRoles(id, Roles, model.StartDate, model.EndDate);
TempData["successMessageForDeleting"] = "عملیات ثبت با موفقیت انجام شد.";
return RedirectToAction("Index");
}
catch (Exception)
{
TempData["ErrorMessageForDeleting"] = "عملیات ثبت با خطا مواجه شد.";
return RedirectToAction("Index");
}
}
var CurrentPerson = (from Person in db.LeagueGame
join User in db.Users on Person.PersonID equals User.PersonID
where User.UserID == id
select Person).FirstOrDefault();
ViewBag.UserID = id;
ViewBag.PersonLastName = CurrentPerson.LastName;
ViewBag.PersonFirstName = CurrentPerson.FirstName;
model.AvailableRoles = Get_Roles();
}
else
{
TempData["ErrorMessageForDeleting"] = "عملیات ثبت با خطا مواجه شد.";
}
return View("Index");
}
میشه کمکم کنین. خیلی روش امتحان کردم نتیجه نگرفتم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)