ASP 按钮在单击后隐藏

本文关键字:隐藏 单击 按钮 ASP | 更新日期: 2023-09-27 18:37:18

我使用代码隐藏创建了一个简单的asp按钮。我成功地在页面上添加了此按钮,它在网页上显示我,但是当我单击该按钮然后在回发后按钮隐藏在网页上时遇到了问题。请帮助我解决这个问题。这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        CreateButton();
    }
}
protected void CreateButton()
{
    Button btn = new Button();
    btn.ID = "newDynamicBtn";
    btn.Text = "Click Me";
    //btn.Attributes.Add("runat", "server");
    //btn.Attributes.Add("onClick", "newDynamicBtn_Click");
    //btn.OnClientClick = "return confirm('are you sure ?')";
    btn.Click += newDynamicBtn_Click;
    form1.Controls.Add(btn);
}
protected void newDynamicBtn_Click(object sender, EventArgs e)
{
    Response.Write(@"<script>alert('Hello')</script>");
}

ASP 按钮在单击后隐藏

每次按钮调用时它也运行Page_Load事件,如果你想每次都显示按钮,那么你必须使函数

CreateButton() 没有任何条件 (!postBack)

protected void Page_Load(object sender, EventArgs e)
{
        CreateButton();
}

protected void CreateButton()
{
    Button btn = new Button();
    btn.ID = "newDynamicBtn";
    btn.Text = "Click Me";
    //btn.Attributes.Add("runat", "server");
    //btn.Attributes.Add("onClick", "newDynamicBtn_Click");
    //btn.OnClientClick = "return confirm('are you sure ?')";
    btn.Click += newDynamicBtn_Click;
    form1.Controls.Add(btn);
}
protected void newDynamicBtn_Click(object sender, EventArgs e)
{
    Response.Write(@"<script>alert('Hello')</script>");
}

正如毗湿奴·普拉萨德(Vishnu Prasad)在评论中所说,由于条件if(!isPostBack),您的代码仅在页面首次加载时创建按钮。如果您希望按钮在回发后出现在页面中,则只需删除该条件

if(!IsPostBack)

上述代码的目的是检查页面是否是第一次请求的。如果第一次请求页面,则 if 条件中的代码将执行,否则不执行。这就是为什么您没有第二次看到该按钮的原因。

在 if 条件之外调用 createButton()。