关于asp.net user control 中 的 按钮 事件 的 触发问题

我有一个usercontrol,里面有个按钮,前台代码例子如下:<div><asp:ButtonID="Button1"runat="server"Text="Butto... 我有一个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();
}
}
}
展开
 我来答
匿名用户
2013-09-11
展开全部
你试试会不会出现这么一个情况:以你现在的代码,点一下那个button控件后隔5秒再点一下button控件,看看是不是有反应(即两次点击不要小于你的timer所设定的时间),如果没有反应,那么下面就是对应的解释。
因为你这个是一个网页,所以不会自动刷新,你的timer控件每两秒往你的pl中换一个内容,导致后台与你实际页面显示的不同,即你的页面显示的是你加载页面时所看到的东西,而实际上却是经过timer控件处理过的内容,当你点第一次时,它会变为当前的实际状态,再点时才会有反应
更多追问追答
追问
好的我试一下先
请问如何解决这个问题呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丶没好名字
2013-09-13 · TA获得超过143个赞
知道小有建树答主
回答量:374
采纳率:0%
帮助的人:236万
展开全部
load 加上IsPostBack
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式