【问题标题】:Databind Function to Controls Visible Property Does Not Work控件可见属性的数据绑定函数不起作用
【发布时间】:2010-10-04 09:15:36
【问题描述】:

我正在使用数据绑定来设置控件的可见属性:

页面控件:

批准时间​​ton>

CodeBehind 上的代码:

受保护的布尔 CanApprove() { 返回假; }

如您所见,控件不应该显示,但仍然显示。我没有收到任何错误,我很困惑为什么这不起作用。

感谢您的帮助。

【问题讨论】:

  • 类似“证明这个作为答案”会很好:)

标签: asp.net


【解决方案1】:

有时您无法使用 设置控件属性,您必须求助于使用 OnItemDataBound(...) 来获取对控件的引用并在那里设置其 Visible 属性。有时可能成为问题的另一件事是嵌套引号,但在您的示例代码中,我不认为这是一个问题。如果您的真实代码包含嵌套引号,例如 Visible="" 那么这可能是您真正的问题。您可以通过使用单引号和交替使用双引号来解决此问题。

【讨论】:

    【解决方案2】:

    你所要做的就是以下

    protected void Page_Load(object sender, EventArgs e)
    {
        this.DataBind();
    }
    public bool CanApprove()
    {
        return false;
    }
    

    那么你可以在 asp-control 上使用这个方法,就像你之前提到的那样!

    但请注意!页面的每个属性都必须不为空,否则数据绑定将失败并出现异常!

    【讨论】:

      【解决方案3】:

      这对我也很有用...谢谢!!

      <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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 2018-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多