MVC3 Редактирование сетки AJAX показывает странное поведение - PullRequest
1 голос
/ 01 декабря 2011

У меня проблема с AjaxForm.Это длинное описание, и я уже потратил на него много времени, поэтому хотел кое-какие идеи.

У меня есть сетка, отображающая детали телефона (или другие).Я пытаюсь ajax редактировать сетку, используя Edit Div непосредственно над сеткой. Когда редактирование сохранено, я обновляю весь div сетки.См. Ниже

   <div class="boxBody AccordionDetails" style="width: 980px; padding: 10px;">
        <div id="@Constants.AjaxPhoneResult" title="Phone Numbers">
    </div>
    <div id="@Constants.AjaxPhoneEditListResult">
            @Html.Partial("_PhoneListEdit", @Model)
      </div>

Сетка возвращается в виде таблицы HTML частичным _PhoneListEdit.Каждая строка имеет Ajax Action Link, отображающую следующий фрагмент в вышеупомянутом разделе AjaxPhoneResult. См. Ниже

@using (Ajax.BeginForm(action,
   new AjaxOptions
        {
            UpdateTargetId = Constants.AjaxPhoneEditListResult,
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "POST"
        }
            ))
{ 
       @Html.HiddenFor(model => model.ContactID)
        @Html.HiddenFor(model => model.ID)
            @Html.LabelFor(model => model.PhoneNum)
            @Html.EditorFor(model => model.PhoneNum)
        <input id="PhoneSubmit" type="submit" value="Save" />
} 

Приведенная выше форма Ajax отображается правильно, как я могу наблюдать с помощью FireBug.Однако, когда я нажимаю Сохранить результаты (строка частичного просмотра Json), отображается в новой форме, а не заменяет содержимое сетки обновленными данными. Также я уверен, что я включил JQuery ajax js-скрипты. Интересно то, что еслиЯ отображаю форму AJAX во всплывающем окне, используя JQuery Dialog, форма Ajax работает правильно, хотя сгенерированная разметка одинакова.

Мне интересно, нужно ли выполнять какие-либо действия с элементами формы AJAX при загрузке формы?Может быть, это выполняется, когда вы используете диалог Jquery.Любая помощь будет оценена.

...