我有标准搜索方案:用户输入搜索参数并单击搜索按钮 - 结果显示在下面的面板中。我想要做的是根据搜索结果是否可用来控制面板的可见性。我尝试按如下方式对我的面板进行编码,但是我在运行时遇到了解析错误。
<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.
如何根据型号的可用性切换面板?
答案 0 :(得分:3)
正如我在评论中所说,你不应该在你的asp.net应用程序中使用<asp:panel>
。
而是构建局部视图(ascx)
<% if(! Model.HasValue){ %>
<%: Html.Partial("WhatWouldGoInYourPanel") %>
<% } %>
然后在您的部分视图中,如果模型为空,您可以放置要显示的所有“内容”。
您可以将部分放在两个地方之一。如果共享,则将其放在Views/Shared
文件夹中。如果它特定于Controller,则将其放在Views/[ControllerName]
文件夹中。
注意:请原谅我的C#...我不是那么好。