<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>
如果我不使用更新面板,则整个页面会刷新。
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);
}
这是计时器处理程序
中的变量“link”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 :(得分: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;
}
答案 1 :(得分:2)
我必须在updatepanel中添加如下所示的回发触发器,以使其正常工作。
<Triggers>
<asp:PostBackTrigger ControlID="ImageButton"/>
</Triggers>
答案 2 :(得分:0)
尝试更改为UpdateMode="Always"