#asp.net-mvc #gridview
Вопрос:
Если кто-нибудь может помочь мне сохранить(выбранное) значение в раскрывающемся списке в моей сетке. Я буду очень благодарен. пожалуйста, помогите мне. Вот мой код
@using (Html.BeginForm("Index", "MVP", FormMethod.Post, new { @id = "MVP" }))
{
@Html.Grid(Model).Named("EmpList").Columns(x =>
{
x.Add(y => y.Department).Titled("Department").Encoded(false).Sanitized(false).Filterable(true);
x.Add(y => y.FullName).Titled("Emp Name").Encoded(false).Sanitized(false).Filterable(true);
x.Add(y => y.EmpID).Titled("Employee ID").Encoded(false).Sanitized(false).Filterable(true).Css("Empdepartment");
x.Add(y => y.Supervisor).Titled("Supervisor").Encoded(false).Sanitized(false).Filterable(true);
x.Add(y => y.ConfirmedComplaint).Titled("Confirmed Compliant").Encoded(false).Sanitized(false).Filterable(true);
x.Add(y => y.Nursing).Titled("Nursing").Encoded(false).Sanitized(false).Filterable(true);
x.Add(y => y.Program).Titled("Program").Encoded(false).Sanitized(false).Filterable(true);
x.Add(y => y.JobStatus).Titled("Job Status").Encoded(false).Sanitized(false).Filterable(true);
///// x.Add().Titled("Job Status").Encoded(false).Sanitized(false).Filterable(true).RenderValueAs(y=> Html.Raw("<input id='hdnEmpList" y.EmpID "' type='hidden' value='" @ViewBag.EmpList "' />")) ;
x.Add().Titled("Current Status").Encoded(false).SetWidth(1).Sanitized(false).Filterable(true).RenderValueAs(y => @Html.DropDownList("Select Current Status", new SelectList(ViewBag.EmpList, "MVPCurrentStatus", "MVPCurrentStatus", y.OP_CurrentStatus), new { style = "width: 100px;", @class = "form-control" , @id = "CurrentStatus_" y.EmpID}));
//, y.OP_CurrentStatus
x.Add().Titled("Complete amp; Signed").Encoded(false).Sanitized(false).Filterable(true).RenderValueAs(y => CompliantSigned(y));
x.Add().Titled("Date Anticipated Fully Compliant").Encoded(false).Sanitized(false).Filterable(true).RenderValueAs(y => Html.Raw("<input type = 'text' id='DateAnticipated_" y.EmpID "' value='" y.DateAnticipated_FullyComplaint_string "' class='form-control date-picker' name = '" y.DateAnticipated_FullyComplaint_string "'></input>"));
x.Add().Encoded(false)
.Sanitized(false)
.SetWidth(20)
.RenderValueAs(y => Html.Raw("<input type ='button' class='btn btn-success' value='Save' onclick= 'SaveEmployeee(" y.EmpID ")'></input>"));
}).Sortable(true).WithMultipleFilters().WithPaging(10).SetRowCssClasses(x => x.CreatedBy == null ? "" : "AppChanges")
}
Вот мой контроллер
public ActionResult Index()
{
try
{
var search = dbContext.OP_Admin_MVP_TrackingApp.ToList();
foreach (var item in search)
{
if (item.OP_CurrentStatus != null)
{
ViewBag.EmpList = dbContext.OP_Admin_MVP_TrackingApp.Where(x => x.EmpID == item.EmpID amp;amp; x.OP_CurrentStatus == item.OP_CurrentStatus).Select(x => x.OP_CurrentStatus).FirstOrDefault();
}
else
{
var emplist = dbContext.MVP_CurrentStatus.Where(x => x.isActive == true).OrderBy(x => x.MVPCurrentStatus).ToList();
ViewBag.EmpList = emplist;
}
return View(search);
}
}
catch (DbEntityValidationException e)
{
foreach (var validationErrors in e.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
validationError.ErrorMessage);
}
}
Session["Error"] = e.InnerException " ---- " e.Message;
}
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
[AllowAnonymous]
public ActionResult Index(MVP mvpApp, FormCollection form)
{
try
{
if (!string.IsNullOrEmpty(mvpApp.SearchEmpIDorName))
{
var employee = dbContext.OP_Admin_MVP_TrackingApp.Where(x => x.FullName.ToUpper().Contains(mvpApp.SearchEmpIDorName.ToUpper()) ||
x.EmpID.ToUpper().Contains(mvpApp.SearchEmpIDorName.ToUpper())).ToList();
return View(employee);
}
}
else
{
return RedirectToAction("NotAuthorized", "Login");
}
}
catch (DbEntityValidationException e)
{
foreach (var validationErrors in e.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
validationError.ErrorMessage);
}
}
Session["Error"] = e.InnerException " ---- " e.Message;
}
return View();
}
Я могу сохранять значения из сетки даже в раскрывающемся списке в БД, но не могу получить выбранное(сохраненное) значение в сетке. это всегда появляется 1-е значение. Пожалуйста, помогите мне.
Ответ №1:
в коде не было никаких ошибок. это была моя визуальная студия. это перестало работать. Мне пришлось переустановить, а затем код работает правильно.