【问题标题】:Hide web user control from page load从页面加载中隐藏 Web 用户控件
【发布时间】:2013-11-27 09:04:41
【问题描述】:

我创建了一个web user control 并将其放在login 页面中。当我单击提交按钮时,必须显示用户控件并将重定向到主页。

来到我的代码,我已将该用户控件放在

<div id="divloginUControl">
    <td></td>
       <td>
           <LUC:LoginLoader ID="loginUserControl" runat="server" />
       </td>
 </div>

加载登录页面时,用户控件会突出显示。为了隐藏用户控件,我写了

protected void Page_Load(object sender, EventArgs e)
    {
        //divloginUControl.Visible = false;
        loginUserControl.Visible = false;
    }

对于提交按钮

 protected void Button1_Click(object sender, EventArgs e)
    {
        loginUserControl.Visible = true;
    }

但它不适用于提交按钮。

请提出建议。

【问题讨论】:

  • 请提供您的真实代码。 loginuc.visbile=true; 甚至不会编译。也不清楚您对 提交按钮 的含义以及您尝试隐藏控件的位置。您的标题是:“从 Page_Load 中隐藏”,但您真正的问题似乎是 “从按钮单击事件中隐藏”,这是正确的吗?
  • 不,我只是从 page_load 隐藏控件并从 button_click 事件显示控件。我已经编辑了我的代码,请检查一下
  • Button1_Click 是否被调用?您是否尝试过设置断点? Button1_Click 是否在 Page_Load 之后被调用? loginUserControl 逻辑中没有其他东西可以隐藏它吗?

标签: c# asp.net web-user-controls


【解决方案1】:

您在什么情况下设置 Visible 属性?如果您是在内联代码中执行此操作,则会在事件处理程序之后进行处理,因此您只需在最终渲染之前将 Visible 设置回 false。

【讨论】:

    【解决方案2】:

    @bhasker.. 一种方法是在用户控件类中定义一个属性来隐藏或显示 UC 的控件,并在使用 UC 的屏幕上相应地隐藏或显示用户控件。

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 2014-04-12
      相关资源
      最近更新 更多