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
    
}

Ответы на вопрос(3)

Ваш ответ на вопрос