gpt4 book ai didi

asp.net - 在非 ASP 元素中使用代码服务器端脚本分隔符/ASP.NET 内联表达式

转载 作者:行者123 更新时间:2023-12-02 20:11:14 25 4
gpt4 key购买 nike

我收到此错误消息:

Cannot create an object of type 'System.Boolean' from its string representation <%: false %> for the 'Visible' property.

当我尝试在 ASP.net 网站中运行此代码时:

<a runat="server" visible='<%: false %>' href="~/" >Home</a>

有语法错误吗? false 应该可以用任何与以下结果相同的方法替换:

<asp:Panel runat="server" Visible='<%: GetTrueOrFalse() %>'>Home</a>

最佳答案

假设您有一个返回 bool 值的方法,如下所示:

public bool IsVisible()
{
if (some_condition) // example condition test
{
return true;
}
else
{
return false;
}
}

您需要像这样使用绑定(bind):

ASPX

<a runat="server" visible='<%# IsVisible() %>' href="~/" >Home</a>

ASPX.CS(代码隐藏)

protected void Page_Load(object sender, EventArgs e)
{
// do something

Page.DataBind();
}

注意:此技巧适用于返回 bool 的方法或属性。

更新1:

由于 a 标签未设置任何 id 属性,因此您可以删除 runat="server":

<a visible='<%# IsVisible() %>' href="~/" >Home</a>

或者使用带有 display: nonevisibility: hide 的 CSS:

<a visible='<%# IsVisible() %>' href="~/" style="visibility:hidden; display:none;">Home</a>

引用:

Is code rendering block <%=%> useful for boolean type?

关于asp.net - 在非 ASP 元素中使用代码服务器端脚本分隔符/ASP.NET 内联表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com