ASP.NET MVC - 当模型不可用时隐藏面板

发布于 2024-10-04 07:31:11 字数 452 浏览 2 评论 0原文

我有标准的搜索场景:用户输入搜索参数并单击搜索按钮 - 结果显示在下面的面板中。我想要做的是根据搜索结果是否可用来控制面板的可见性。我尝试按如下方式对面板进行编码,但在运行时出现解析错误。

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

如何根据模型的可用性切换面板?

I have the standard search scenario: user enters search parameters and clicks the search button - results show up in the panel below. What I want to do is to control the visibility of the panel based on whether search results are available or not. I have tried to code my panel as follows, but I am getting a parse error at run time.

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

The parse error I am getting is this:

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

How do I toggle the panel depending on the availability of the model?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海夜未眠 2024-10-11 07:31:11

正如我在评论中所说,您不应该在 ASP.NET 应用程序中使用

相反,构建一个部分视图(ascx)

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

然后在您的部分视图中,您可以放置​​您想要在模型为空时显示的所有“内容”。

您可以将部分内容放在两个位置之一。如果是共享的,则将其放入 Views/Shared 文件夹中。如果它特定于控制器,则将其放入 Views/[ControllerName] 文件夹中。

注意:请原谅我的 C#...我不是那么好。

As I said in my comment, you should not be using a <asp:panel> in your asp.net application.

Instead, build a partial view (ascx)

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

Then in your Partial view, you can put all the "stuff" that you want to show if the Model is empty.

You can put the partial in one of two places. If it's shared, you put it in the Views/Shared folder. If it's specific to the Controller, you put it in the Views/[ControllerName] folder.

note: please forgive my C#... I'm not all that good.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文