0

我有一个名为“DashboardUserControl.ascx”的用户控件

它有一个功能:

public void setPagination(Boolean pagination)
    {
        this.DashboardGridView.AllowPaging = pagination;
    }

我还有另外两个页面,通过拖放插入了该用户控件:

  1. MyDashboard.aspx:我想从此页面将用户控件的分页设置为“true”。

  2. SharedDashboard.aspx:我想将用户控件的分页设置为“false”。

这该怎么做?

4

2 回答 2

1

如果您将用户控件添加到两个页面,则您有两个用户控件实例。这意味着页面上的用户控件未连接。

因此要调用该方法,您可以在页面的 Page_Load 中简单地执行以下操作。以下代码示例适用于 MyDashboard.aspx.cs。在 SharedDashboard.aspx.cs 中将true更改为false

protected void Page_Load(object sender, EventArgs e) {
    this.DashboardUserControl.setPagination(true);
}
于 2012-07-02T07:07:48.650 回答
1

你要么:

  • 在 MyDashboard.aspx 和 SharedDashboard.aspx 后面的代码中调用 setPagination,并根据每个页面的要求设置布尔值。

或者(我更喜欢)

  • 将方法重写为属性:

    public bool Pagination { set { this.DashboardGridView.AllowPaging = value; } get { return this.DashboardGridView.AllowPaging; } }

如果您添加该属性,您可以从后面的代码或 MyDashboard.aspx 和 SharedDashboard.aspx 的标记中为其分配一个。例如<uc:MyControl id="myControl1" Pagination="true" runat="server" />

希望这可以帮助

于 2012-07-02T07:11:25.910 回答