关于asp.net user control 中 的 按钮 事件 的 触发问题
我有一个user control,里面有个按钮,前台代码例子如下:<div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="buttonclick" />
</div>
在后台我也定义了buttonclick 方法了。
在放这个控件的页面里,我有个timer,每次timer tick的时候,我需要重新载入那个控件。 我的问题是,每次那个控件的按钮,我得点两下,才能调用buttonclick方法,请问大家是什么问题?如何解决?如果我去掉那个timer,那一切都正常,就是加了timer,不行。我加timer是因为那个user control本来还有其他的label,然后timer不断query后台,然后update那个label。
页面的前台代码如下:
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="pl" runat="server">
</asp:PlaceHolder>
<asp:Timer ID="Timer1" Interval="2000" Enabled="true" runat="server"
ontick="Timer1_Tick">
</asp:Timer>
</div>
</form>
后台代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
temp();
}
protected void temp()
{
pl.Controls.Clear();
var tempControl = (WebUserControl1)LoadControl("~/WebUserControl1.ascx");
pl.Controls.Add(tempControl);
}
protected void Timer1_Tick(object sender, EventArgs e)
{
temp();
}
}
} asp.net 控件 user control 用户控件 --------------------编程问答-------------------- user control里的button的click事件,写在user control的load里,
Button1.onclick+=.....这种形式
试试 --------------------编程问答-------------------- 程序员同学,先将timer1设为10分钟。
请打开Fiddler2,看看你第一次点击后,发生了什么?第二次点击发生了什么?分别查看生成的HTML和提交的html,一切都无所遁形!
Button的OnClick最终是靠js引发的。依靠这条线,慢慢检查即可。 --------------------编程问答-------------------- 只看服务器端的逻辑会让你眼迷,最终要靠HTTP和HTML说话! --------------------编程问答-------------------- 还有其他的方法吗?
补充:.NET技术 , ASP.NET