ASP.NET MVC - скрытие панели, когда модель недоступна - PullRequest
0 голосов
/ 26 ноября 2010

У меня стандартный сценарий поиска: пользователь вводит параметры поиска и нажимает кнопку поиска - результаты отображаются на панели ниже.Я хочу контролировать видимость панели в зависимости от того, доступны ли результаты поиска или нет.Я попытался кодировать свою панель следующим образом, но я получаю ошибку разбора во время выполнения.

<asp:Panel ID="ResponsePanel" Visible="<%= Model != null %>" runat="server">
    ...
</asp:Panel>

Я получаю ошибку разбора:

Cannot create an object of type 'System.Boolean' from its string representation
'<%= Model != null %>' for the 'Visible' property.

Как сделатьЯ переключаю панель в зависимости от наличия модели?

1 Ответ

3 голосов
/ 26 ноября 2010

Как я уже сказал в своем комментарии, вы не должны использовать <asp:panel> в своем приложении asp.net.

Вместо этого создайте частичное представление (ascx)

<% if(! Model.HasValue){ %>
    <%: Html.Partial("WhatWouldGoInYourPanel") %>
<% } %>

Затем в вашем Частичном представлении вы можете поместить все «материалы», которые вы хотите показать, если Модель пуста.

Вы можете поместить частичное в одно из двух мест.Если это общий доступ, вы помещаете его в папку Views/Shared.Если это относится к контроллеру, вы помещаете его в папку Views/[ControllerName].

примечание: пожалуйста, прости мой C # ... я не так уж хорош.

...