【发布时间】:2010-10-04 09:15:36
【问题描述】:
我正在使用数据绑定来设置控件的可见属性:
页面控件:
CodeBehind 上的代码:
受保护的布尔 CanApprove() { 返回假; }如您所见,控件不应该显示,但仍然显示。我没有收到任何错误,我很困惑为什么这不起作用。
感谢您的帮助。
【问题讨论】:
-
类似“证明这个作为答案”会很好:)
标签: asp.net
我正在使用数据绑定来设置控件的可见属性:
页面控件:
CodeBehind 上的代码:
受保护的布尔 CanApprove() { 返回假; }如您所见,控件不应该显示,但仍然显示。我没有收到任何错误,我很困惑为什么这不起作用。
感谢您的帮助。
【问题讨论】:
标签: asp.net
有时您无法使用 设置控件属性,您必须求助于使用 OnItemDataBound(...) 来获取对控件的引用并在那里设置其 Visible 属性。有时可能成为问题的另一件事是嵌套引号,但在您的示例代码中,我不认为这是一个问题。如果您的真实代码包含嵌套引号,例如 Visible="" 那么这可能是您真正的问题。您可以通过使用单引号和交替使用双引号来解决此问题。
【讨论】:
你所要做的就是以下
protected void Page_Load(object sender, EventArgs e)
{
this.DataBind();
}
public bool CanApprove()
{
return false;
}
那么你可以在 asp-control 上使用这个方法,就像你之前提到的那样!
但请注意!页面的每个属性都必须不为空,否则数据绑定将失败并出现异常!
【讨论】:
这对我也很有用...谢谢!!
<asp:Label runat="server" ID="lblLocaton" Text='<%# String.Format("{0}, {1}", Eval("City"), Eval("Region.Code")) %>' Visible="<%# ShowLocation() %>" />
与
MfnPresenter.Website.Presenters.IInstituitonListView.ShowLocation
Get
End Get
Set(ByVal value As Boolean)
'Used by visibility binding expression on lblLocation control inside dlFinancialInsitution
End Set
End Property
【讨论】: