我的代码隐藏中有一个公共属性,我想将它绑定到 .aspx 页面中的控件。如果我使用Page.DataBind()
它,但我不想使用它,因为这会导致递归数据绑定到所有控件。
即使 Page.DataBind() 有一个重载的方法,它接受布尔值,指示我是否要递归调用它,这将是一个更好的选择,但目前它只会由于递归而降低性能。
我唯一的目标是将我的代码隐藏页面中的公共/受保护属性绑定到我的 .aspx 页面。有没有更好的选择?
我的代码隐藏中有一个公共属性,我想将它绑定到 .aspx 页面中的控件。如果我使用Page.DataBind()
它,但我不想使用它,因为这会导致递归数据绑定到所有控件。
即使 Page.DataBind() 有一个重载的方法,它接受布尔值,指示我是否要递归调用它,这将是一个更好的选择,但目前它只会由于递归而降低性能。
我唯一的目标是将我的代码隐藏页面中的公共/受保护属性绑定到我的 .aspx 页面。有没有更好的选择?
我猜你的绑定代码有点像
<%# MyProperty %>
仅当您调用时才会发生这种绑定Page.DataBind()
,但如果您编写:
<%= MyProperty %>
那么你不必打电话Page.DataBind()
接受的答案适用于简单显示值,但不适用于在服务器标签中使用数据绑定值,例如
<asp:Literal Visible='<%# IsNewApplication %>' runat="server">New Application</asp:Literal>
我发现解决这个问题的唯一方法是使用PlaceHolder
控件来隔离可绑定标签块,然后DataBind()
在PlaceHolder
.
由您决定这是否比仅在代码中设置可见性更难看/合适!