点击后隐藏asp按钮
问题描述:
我使用后面的代码创建了一个简单的asp按钮。我成功地在页面上添加了这个按钮,并且它在网页上显示我,但是当我点击按钮然后发回按钮隐藏在网页上时,我遇到了问题。请帮我解决这个问题。 这里是我的代码:点击后隐藏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>");
}
答
正如普拉萨德毗湿奴的评论说,你的代码仅创建按钮的第一次,因为条件if(!isPostBack)
加载页面。 你只需要删除该条件,如果你想你的按钮出现在页面后回发
答
每次当按钮调用它也运行Page_Load事件,如果你想按钮每次显示那么你必须做功能
CreateButton()无(!回发)
例
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>");
}
答
的任何条件
上述代码的目的是检查页面是否第一次被请求。 如果首次请求页面,则if条件中的代码将执行,否则执行否。这就是为什么你没有第二次看到按钮。
在if条件之外调用createButton()。
当CreateButton方法是PostBack时,不会调用CreateButton方法。把它放在'if'条件之外,然后它会起作用 –
我在页面加载时删除了if条件。谢谢@VishnuPrasad – Macwin