Member 13058758 Ответов: 1

Частичный просмотр не отображается на одной странице


Это мой взгляд на бритву:
 @using (Ajax.BeginForm("Search", "Mains", new AjaxOptions() {OnSuccess="on" ,UpdateTargetId = "Lists", HttpMethod = "Post", InsertionMode = InsertionMode.Replace }))
            {
                <div class="form-control d-inline ">
                    <button id="seabox"><span class="fas fa-search" style="color:#bbb6b6"></span></button>
                    @Html.TextBox("search", null, new { @id = "seabox", @placeholder = "Search" })
                </div>
            }

<div id="Lists">  
</div>


@section scripts{
        @Scripts.Render("~/bundles/jqueryunobtrusive")
        @Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")       
    }
И это мое действие контроллера:
public ActionResult Search(string search)
        {
            var names = db.Mains.Where
                (p => p.Name.Contains(search)
            || p.IDNumber.Contains(search)
            //|| p.Payment.StartsWith(search)
            || p.ChassisNO.Contains(search)
            || p.PlaceOfWork.Contains(search)
            || p.PlaceOfBirth.Contains(search)
            || p.NumPlate.Contains(search)
            || p.CarBrand.Contains(search)
            || p.CustomsCertNum.Contains(search)
            || p.CarModel.Contains(search)
            || p.ModelYear.StartsWith(search)
            || p.Status.StartsWith(search)
            || p.Cases.StartsWith(search)
            || p.PaymentDate.ToString().Contains(search)            
            );            

            return PartialView("_search", names.ToList());
            
        }
после нажатия кнопки Поиск частичный вид открыть в новой вкладке я хочу показать его на той же странице

Что я уже пробовал:

я попытался изменить ссылки jquery

ZurdoDev

Является ли "поиск" кнопкой или текстовым полем?

Member 13058758

Я пишу параметр в текстовом поле с именем search и нажимаю кнопку Отправить выполнить все действия в контроллере и получить список но на другой странице не в том же самом

ZurdoDev

Но где же код для кнопки поиска?

Member 13058758

я не понимаю, что вы имеете в виду? вы имеете в виду код контроллера c#?

Я вложил это в свой вопрос

public ActionResult Search(поиск строк)

ZurdoDev

Нет. Где - то есть html, который отображает вашу кнопку поиска и код для того, что делать при нажатии. Если он открывается в новом окне, это проблема на стороне клиента.

Member 13058758

да вам нужен частичный просмотр html кода


@model IEnumerable<fzpc.dal.main>





@model IEnumerable<FZPC.DAL.Main>




<table class="table table-bordered text-center">
    <tr style=" background-color:#333333; color:white; text-align:center">
        <th></th>
        <th>
            رقم الشهادة الجمركية
        </th>

        <th>
            رقم اللوحة
        </th>

        <th>
            رقم الشاسيه
        </th>

        <th>
            سنة الصنع
        </th>

        <th>
            موديل السيارة
        </th>

        <th>
            ماركة السيارة
        </th>

        <th>
            الأسم
        </th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @*@Html.ActionLink("Edit", "Edit", new { id = item.id }) |*@
                @Html.ActionLink(" ", "Details", null, new { id = item.id, }, new { @class = "fas fa-search-plus mr-2" })
                @*|
                    @Html.ActionLink("Delete", "Delete", new { id = item.id })*@
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CustomsCertNum)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.NumPlate)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.ChassisNO)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.ModelYear)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CarModel)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.CarBrand)
            </td>

            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
        </tr>
    }

</table>

Richard Deeming

Проверьте консоль разработчика Вашего браузера на наличие ошибок. Вполне возможно, что AJAX-форма терпит неудачу и возвращается к нормальной отправке.

(Возможно, вам придется включить опцию "сохранять журналы", чтобы вывод консоли не терялся при загрузке новой страницы.)

Member 13058758

Спасибо это сделано пожалуйста сделайте это как решение

1 Ответов

Рейтинг:
10

Richard Deeming

Как уже говорилось в комментариях, вам необходимо проверить консоль разработчика Вашего браузера на наличие ошибок. Вполне возможно, что AJAX-форма терпит неудачу и возвращается к нормальной отправке.

(Возможно, вам придется включить опцию "сохранять журналы", чтобы вывод консоли не терялся при загрузке новой страницы.)

Браузер Firefox: Открытие веб - консоли- Firefox Developer Tools | MDN[^]
Хром: Обзор Консоли  |  Инструменты для веб-разработчиков  |  Разработчики Google[^]
Край: DevTools - Консоль - Microsoft Edge Development | Microsoft Docs[^]