MVC 4 Редактировать модальную форму с помощью Bootstrap
m используя MVC 4 и Entity Framework для разработки веб-приложения для интрасети. У меня есть список людей, которых можно изменить с помощью действия редактирования. Я хотел сделать свое приложение более динамичным, используя модальные формы. Поэтому я попытался поместить свое редактируемое представление в мой модал Bootstrap, и у меня есть 2 вопроса по этому поводу:
Должен ли я использовать простой или частичный вид?Как я могу выполнить проверку (на самом деле это работает, но перенаправляет меня на исходное представление, поэтому не в модальной форме)Я думаю, что я должен использовать AJAX и / или JQuery, но ям новичок в этих технологиях. Любая помощь будет оценена.
РЕДАКТИРОВАТЬ: мой индекс просмотра:
@model IEnumerable
@{
ViewBag.Title = "Index";
}
Index
<br>
@using (Html.BeginForm("SelectedPersonDetails", "Person"))
{
Search
}
Firstname
Lastname
Start Date
End Date
Details
Actions
@foreach (BuSIMaterial.Models.Person item in ViewBag.PageOfPersons)
{
@item.FirstName
@item.LastName
@item.StartDate.ToShortDateString()
@if (item.EndDate.HasValue)
{
@item.EndDate.Value.ToShortDateString()
}
<a class="details_link" data-target-id="@item.Id_Person">Details</a>
Edit
National Number
@item.NumNat
Vehicle Category
@item.ProductPackageCategory.Name
[email protected]
House to work
@item.HouseToWorkKilometers.ToString("G29")
}
@section Scripts
{
@Scripts.Render("~/bundles/jqueryui")
@Styles.Render("~/Content/themes/base/css")
$(document).ready(function () {
$('#tbPerson').autocomplete({
source: '@Url.Action("AutoComplete")'
});
$(".details_link").click(function () {
var id = $(this).data("target-id");
var url = '/ProductAllocation/ListByOwner/' + id;
$("#details_"+ id).load(url);
});
$('.edit-person').click(function () {
var url = "/Person/EditPerson";
var id = $(this).attr('data-id');
$.get(url + '/' + id, function (data) {
$('#edit-person-container').html(data);
$('.edit-person').modal('show');
});
});
});
}
Мой частичный вид:
@model BuSIMaterial.Models.Person
×
Edit
@using (Ajax.BeginForm("EditPerson", "Person", FormMethod.Post,
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
UpdateTargetId = "list-of-people"
}))
{
@Html.ValidationSummary()
@Html.AntiForgeryToken()
@Html.TextBoxFor(model => model.FirstName, new { maxlength = 50 })
@Html.ValidationMessageFor(model => model.FirstName)
@Html.TextBoxFor(model => model.LastName, new { maxlength = 50 })
@Html.ValidationMessageFor(model => model.LastName)
Save
}