【问题标题】:UserControl Property Changing用户控件属性更改
【发布时间】:2011-03-07 12:35:48
【问题描述】:

我创建了一个用户控件(Popupcontrol),并在该控件中创建了一个属性(PageType),当我在页面上使用 Popupcontrol 时,我根据页面设置属性(pagetype)。 但是现在有一些问题我必须在页面上使用两个按钮,然后在第二个按钮上单击我想更改 pagetype 属性。那么有没有相同的解决方案。

【问题讨论】:

  • 请用标点符号重写您的问题。这个问题很难理解
  • 那么为什么不在“第二个”按钮单击处理程序中将该属性设置为必要的值呢?
  • 如果我在按钮单击上设置属性,那么它不会得到更改,因为在页面加载时它设置为先前定义的属性。

标签: asp.net


【解决方案1】:

根据您的评论,您似乎在Page_Load 事件中绑定了数据(问题中的PageType 属性),而不是这个应该在覆盖的DataBind 方法中完成,如果页面应该调用该方法不在post back 请求中(否则您的数据将在您的 cmets 中提到的下一个Page_Load 事件中被覆盖):

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
    {
        DataBind();
    }
}

public override void DataBind()
{
    PageType = someValue;
}

在此之后,您的点击处理程序可能如下所示:

protected void button2_Clicked(object sender, EventArgs e)
{
    PageType = someOtherValue;
}

【讨论】:

    【解决方案2】:

    您是否在页面加载事件中设置变量?您可能需要添加:

    if (!Page.IsPostback) {
        // Code here.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      相关资源
      最近更新 更多