Частичный вид с Ajax Aspnet MVC 5 - PullRequest
0 голосов
/ 04 ноября 2019

В моем общем html у меня есть список элементов, который содержит идентификаторы в качестве имен, и я хочу обновить свой div, когда я передаю этот идентификатор, и я сделал пост с AJAX, но он не обновляет div.

1 Список компаний:

<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown">
                            @{
                                foreach (var item in List)
                                {
                                    <a class="dropdown-item" name="@item.CompanyToken" id="selector">
                                        <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400" id="CompanyId"></i>
                                        @item.CompanyName
                                    </a>
                                }
                            }
                        </div>

Их я называю частичным действием просмотра, чтобы получить список вещей:

<script>
      $(document).ready(function(){
      $('.dropdown-item').click(function(e){
          e.preventDefault();
          $.ajax({
            url: '@Url.Action("GetProcess", "Manager")',
            type: "get",
            dataType: "html",
            contentType: 'application/json; charset=utf-8',
            data: { id: $(this).attr('name') }, //add parameter
            success: function (data) {
                //success
                $('#teste' + g).html(data); //populate the tab content.   
            },
            error: function () {
                alert("error");
            }
        });
      })
    })
</script>

И Действие

[HttpGet]
    public async Task<PartialViewResult> GetProcess(string id)
    {
        TempData["CompanyToken"] = id;
        var value = await Context.Company.Include(a => a.ProcessDefinition).Where(a => a.CompanyToken == id).Select(a => a.ProcessDefinition).SingleOrDefaultAsync();
        return PartialView("GetProcessDefinitions", value);
    }

и просмотр:

foreach (var item in Model)
{
    if (item != null)
    {
        var words = GenerateRandomWords.RandomString(6);
        <li class="nav-item">
            <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#@words" aria-expanded="true" aria-controls="collapseTwo">
                <i class="fas fa-align-justify"></i>
                <span>@Html.DisplayFor(modelItem => item.Nome)</span>
            </a>
            <div id="@words" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
                <div class="bg-white py-2 collapse-inner rounded">
                    <h6 class="collapse-header">Insatancias:</h6>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                    <a class="collapse-item" href="@Url.Action("", "",new { id = item.Id })">a</a>
                </div>
            </div>
        </li>
    }

}

Когда я нажимаю на один из пунктов, он выполняет вызов и входит в PartialView, но не обновляет div.

<div id="teste">

        </div>

1 Ответ

0 голосов
/ 04 ноября 2019

Когда вы добавляете данные в div, g не определен, вы должны писать только

$('#teste').html(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...