2010-11-26 15 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` - 看看會發生什麼,大聲笑 – RPM1984 2010-11-26 03:40:52

回答

3

正如我在我的評論中所說的,你不應該在你的asp.net應用程序中使用<asp:panel>

取而代之的是,建立一個局部視圖(ASCX)

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

然後在你的局部視圖,你可以把你想顯示如果模型爲空,所有的「東西」。

你可以把部分放在兩個地方之一。如果共享,則將其放入Views/Shared文件夾中。如果它特定於控制器,則將其放入Views/[ControllerName]文件夾中。

請注意:請原諒我的C#...我並不是那麼棒。