2010-11-26 5 views
0

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

<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. 

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

+2

Ну, для начала вы не должны ** Я ПОВТОРЯЮ НЕ ** использовать `` в приложении MVC – 2010-11-26 03:23:17

+0

asp: panel? Seriously..dude! Почему бы вам не добавить «EnableViewState = true» там тоже - посмотрите, что произойдет, lol – RPM1984 2010-11-26 03:40:52

ответ

3

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

Вместо построить частичный вид (ASCX)

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

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

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

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

Смежные вопросы