在 ASP.net 中处理条件占位符的正确方法

T. *_*one 2 asp.net webforms

我仍在习惯 ASP.net WebForms 处理事情的方式,但这仍然让我感到困惑。在某些情况下,如果对象为空,则应显示标记,并且该标记应包含该对象的值。

一个非常简单的例子:

<asp:PlaceHolder runat="server" Visible='<%# myObject != null %>'>
    <span><%= myObject.Property %></span>
</asp:PlaceHolder>
Run Code Online (Sandbox Code Playgroud)

问题在于 ASP.net 似乎会解析占位符的内容,而不管其可见性如何。上面的代码以错误结束:

Object reference not set to an instance of an object.

<asp:Literal>有没有办法在没有一百万的情况下处理这个问题?

Syn*_*noo 5

设置占位符服务器端的可见性(即在后面的代码中)

例子:

this.placeholdername.Visible = true;

if ( myObject == null ) 
{
    this.placeholdername.Visible = false; 
}
Run Code Online (Sandbox Code Playgroud)