【问题标题】:Hiding Linkbutton controls in a Formview using page index events使用页面索引事件在 Formview 中隐藏 Linkbutton 控件
【发布时间】:2012-05-28 18:38:55
【问题描述】:

我希望能够在Formview 上隐藏一些项目控件。我定义了一种方法,当满足某个要求时,我设置的AddUpdateDelete 链接按钮不会显示在我的Formview 中。我用来实现这一点的代码与下面显示的代码相同。这在初始显示上正常工作。

但是,当使用分页控件时,当另一个项目显示在 Formview 中时,链接按钮会再次可见。

我尝试使用FormView1_PageIndexChanging_PageIndexChanged 事件重新隐藏链接按钮,方式如下:

    protected void FormView1_PageIndexChanged(object sender, EventArgs e)
    {
        // Check to see if PDP requirement has been removed
        if (txtStatusMessages.Text == "PDP Required has been set to False for this User so PDP cannot be updated or signed off.")
        {
            Control lb_n = FormView1.FindControl("LinkButton_New");
            lb_n.Visible = false;
            Control lb_e = FormView1.FindControl("LinkButton_Edit");
            lb_e.Visible = false;
            Control lb_d = FormView1.FindControl("LinkButton_Delete");
            lb_d.Visible = false;
        }
    }

我意识到检查文本框内容以隐藏控件的想法远非理想;但此时我只想确保可以使用此方法隐藏项目控件。

使用调试器运行此代码时,会在使用寻呼按钮时触发该事件。可见属性正确地从 true 更改为 false。但是,链接按钮仍然可见。

有谁知道为什么这没有按预期工作?

提前致谢, 加里。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    我似乎已经解决了这个问题。

    最初我尝试使用FormView1_ModeChanging,它允许我取消将模式从只读更改为编辑(例如,单击Edit 链接按钮)。这可行,但意味着链接按钮仍然可见。

    在进一步研究这个问题时,我发现虽然我可以将 Linkbutton 可见属性设置为 false,但它们实际上被重置了。这让我认为我的问题是由于事件排序(可能使用了错误的术语)并且Formview 的刷新覆盖了我的更改。

    所以,我添加了一个新的HiddenField 来存储允许编辑类型的数据,这将根据用户是否应该能够更新数据项来设置。然后我将它与 PreRender 事件一起使用,如下所示:

        protected void FormView1_PreRender(object sender, EventArgs e)
        {
            if (hfEditAllowed.Value == "false")
            {
                Control lb_n = FormView1.FindControl("LinkButton_New");
                lb_n.Visible = false;
                Control lb_e = FormView1.FindControl("LinkButton_Edit");
                lb_e.Visible = false;
                Control lb_d = FormView1.FindControl("LinkButton_Delete");
                lb_d.Visible = false;
            }
        }
    

    这可能不是一个理想的解决方案,但允许我根据需要管理我的链接按钮的显示。

    希望这些信息对其他人有用! 加里。

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 2010-11-16
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      相关资源
      最近更新 更多