2012-02-10 58 views
-2
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="true" 
runat="server"> 
    <ContentTemplate> 
    <asp:ImageButton ID="imagebutton1" runat="server" ImageUrl="~/image.jpg" Width="125" 
    Height="125" onclick="imagebutton1_Click" /> 
    <asp:Timer ID="timer1" runat="server" Interval="10000" ontick="timer1_Tick" /> 
    <asp:Label ID="label1" Visible="false" runat="server" Text="" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

如果我不使用更新面板,整个页面将刷新。Imagebutton onclick不能在updatepanel中工作,我怎样才能使它工作?

protected void imagebutton1_Click(object sender, ImageClickEventArgs e){ 
    string link = label1.Text; 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "OPEN", "window.open(" + link + 
    ",'mywindow','width=200,height=200,');", true); 
} 

这是变量“链接”在这里的定时器处理

Random r = new Random(); 

if (datatable1.Rows.Count > 0) 
{ 
    int randomnumber = r.Next(0, i); 
    DataRow datarow1= datatable1.Rows[randomnumber ]; 
    imagebutton1.ImageUrl = (String)datarow1["image"]; 
    imagebutton1.DataBind(); 
    label1.Text = (String)datarow1["Link"]; 
} 
+0

你可以发布一些代码,你的'Page_Load'方法的一部分和ImageButton设置(可能来自设计器源文件)的设置? – twilson 2012-02-10 20:49:11

+2

这是你的第12个问题,与此同时,你应该注意到一个问题应该包含超过半句话和“不工作”。请提供确切的错误/错误行为和相关代码。 – 2012-02-10 20:51:58

+0

@TimSchmelter它不调用代码隐藏中的onclick事件。 – Seesharp 2012-02-10 20:55:36

回答

2

我只加回传触发作为UpdatePanel的图所示,使其工作。

<Triggers> 
<asp:PostBackTrigger ControlID="ImageButton"/> 
</Triggers> 
2

这是困难的,因为你没有说真正有一个问题,但如果你想要一块的客户端代码在UpdatePanel刷新时运行,请使用客户端pageLoad() method

另外,您正在使用服务器端事件来执行客户端操作。使用OnClientClick处理程序来代替:

<asp:ImageButton ID="imagebutton1" runat="server" ImageUrl="~/image.jpg" Width="125" 
    Height="125" OnClienClick="return openPopUp(this.href);" /> 

function openPopUp(link) 
{ 
    window.open(this.href,'mywindow','width=200,height=200,'); 
    return false; 
} 
+0

我想调用imagebutton1_Click,当我点击图像按钮时,它不会触发 – Seesharp 2012-02-10 20:59:33

+0

我需要它在服务器中,因为我需要从数据库获取图像和链接,并且onclientclick在updatepanel中仍然不起作用。 – Seesharp 2012-02-10 21:06:59

0

尝试改用UpdateMode="Always"

相关问题