Родительская форма не работает при частичном представлении - MVC RenderPartial C # - PullRequest
0 голосов
/ 11 марта 2019

У меня есть основная форма с набором кнопок, а также частичный вид внутри нее.Когда я выполняю действие в частичном представлении и обновляю только частичное представление, кнопка в родительской форме не работает.

  1. Родительское представление (имеет список пакетов)

      <div class="" id="addEditBatch">
       @{
           Html.RenderPartial("~/Views/Partial/BatchPartial.cshtml", Model);
        }
      </div>
      @if (Model.Id != 0)
      {
            a data table of results..each row contains edit and delete actions
            <table>......
                 <td class="text-center">
                       <button type="button" class="btn-bootstrap-dialog btn btn-xs btn-default" data-url="@Url.Action("CheckItem", "MyController", new {id = @item.id})">
                       </button>
                  </td>
            </table>
      }
    
  2. Частичное представление

    @{
            string actionName = "AddBatch";
            if (Model != null && Model.Id > 0)
            {
               actionName = "EditBatch";
            }
            Layout = null;
      }    
    
     @using (Ajax.BeginForm(actionName, new { id = Model?.Id }, new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "addEditBatch", InsertionMode = InsertionMode.Replace }))
     {
        <div id="divBatch" class="container-fluid">
        <div>@Html.ValidationSummary(false)</div>
        <div class="returnMessage">@Html.Raw(TempData["Message"])</div>
         -------
         ------     
        <div class="col-md-offset-1 col-md-6">
                <input type="submit" name="save" id="btnSave" value="Save" class="btn btn-primary btn-xs noWarn" style="margin-left: 20px;") />
                <input type="button" name="cancel" id="btnCancel" value="Cancel" class="btn btn-primary btn-xs" style="margin-left: 20px;" onclick="onCancel(@Model.Id)" />
        </div>
     }
    
  3. Действие контроллера

    [HttpPost]
    public ActionResult EditBatch(BatchForm batchForm)
    {
        ValidateBatchModelState(batchForm);
        if (ModelState.IsValid)
        {
            var result = myService.EditBatch(batchForm, User.UserId());
            if (result != null && result.IsSuccess)
            {
                return View("Partial/BatchPartial", result.Data);
            }
        }
    
        return View("Partial/BatchPartial", batchForm);
    }
    

Проблема заключается в том, что мы редактируемчто-нибудь в частичной форме - контроллер, показанный выше (EditBatch), отображает и отображает только частичное представление.Затем, когда я нажимаю на любую из кнопок на главной странице (например, EditBelowItem, показанный в датированном объекте ParentView), ничего не происходит.Но я могу щелкнуть и сделать что-нибудь в частичном представлении.

Итак, в основном, после того, как частичное представление визуализируется один раз из действия post, кажется, что работает только частичное представление и ни одна из кнопок в родительской формеРабота.Я должен обновить всю страницу снова, чтобы заставить их работать.Любая идея, что может пойти не так?

Ценю ваш вклад.Спасибо!

...