PartialViews возиться друг с другом - PullRequest
0 голосов
/ 25 апреля 2011

У меня есть следующая страница _Layout.cshtml, в которой есть несколько вызовов @Html.Action() для нескольких частичных просмотров.

<div class="wrapper">
    <div class="header">
        <a style="text-decoration:none;" href="@Url.Action("Index", "Home")"><div class="logo"><p>fisharwe</p><span class="greenText float-right">:</span></div></a>
        <div class="searchBar">
            @Html.Action("Search", "Item")
        </div>
        <div id="hearGreenBar"></div>
    </div>
    <div class="pageContent">
        @RenderBody()
    </div>

    <div class="rightColumn">
        <div id="help">
            <div id="allHelpContent">
                <span id="helpIcon"></span> <span id="helpTitle">help</span> <span id="helpArrow"></span>
            </div>
        </div>

        <div id="userPanel">
            @if(!Request.IsAuthenticated)
            {
                <div id="loginForm">@Html.Action("Login", "User")</div>
                <div id="registerForm">@Html.Action("Register", "User")</div>
                <hr class="greyLine" />

                <div id="recentlyViewedItems">
                    <div id="recentItemsTitle">
                        <span class="recentItemsIcon"></span><span class="theRecentTitle">Recently Viewed</span>
                    </div>
                </div>
            }
            else
            {
                <div id="userInfoSummary">@Html.Action("Summary", "User")</div>
            } 
        </div>
    </div>
</div>

В верхней части вы можете увидеть вызов @Html.Action("Seach", "Item"), который отображает панель поиска.и позволяет пользователям искать элементы / категории / подкатегории ... и т. д.Я получил это работает сейчас, но это породило новую проблему!Когда пользователь что-то ищет и результаты отображаются, в партиалах Login и Register на боковой панели (userPanel) отображаются ошибки проверки, такие как «Электронная почта не может быть пустой».Я понимаю, что представление отображается независимо от того, что частично было отправлено обратно, но должен быть способ предотвратить это ... Должен ли я избавиться от частичек и отобразить все на странице _Layout.cshtml?Но в этом случае мне нужно напечатать эту страницу, что вызовет еще одну проблему ... Так что же можно сделать?Я открыт для любых предложений ...

Спасибо.

1 Ответ

2 голосов
/ 25 апреля 2011

У вас есть разные формы для поиска и что находится в "userPanel" ?. Возможно, вы захотите убедиться, что ваш поиск выполняет поиск, а не публикацию.

 @using (Html.BeginForm("Search", "YourController", FormMethod.Get))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...