我做 UpdatePanel 控件的例子,但是整个页面还是被刷新了,我的button1本意是局部刷新,但也全页刷新了,帮忙看看前端代码<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Label ID="Label2" runat="server" Text="外部标记"></asp:Label><br />
<br />
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="局部刷新" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="全局刷新" /><br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
<asp:PostBackTrigger ControlID="Button2" />
</Triggers>
</asp:UpdatePanel>
</form>
</body>
</html>
//后台代码using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Random ran = new Random();
int j = ran.Next(0, 255);
int k = ran.Next(0, 255);
int m = ran.Next(0, 255);
Label2.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(j)), ((System.Byte)(k)), ((System.Byte)(m))); }
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "局部更新:" + DateTime.Now.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "全局更新:" + DateTime.Now.ToString();
}
}
工程地址http://210.10.2.30/upload/udp.rar
Namespace="System.Web.UI" TagPrefix="asp" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Label ID="Label2" runat="server" Text="外部标记"></asp:Label><br />
<br />
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="局部刷新" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="全局刷新" /><br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
<asp:PostBackTrigger ControlID="Button2" />
</Triggers>
</asp:UpdatePanel>
</form>
</body>
</html>
//后台代码using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Random ran = new Random();
int j = ran.Next(0, 255);
int k = ran.Next(0, 255);
int m = ran.Next(0, 255);
Label2.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(j)), ((System.Byte)(k)), ((System.Byte)(m))); }
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "局部更新:" + DateTime.Now.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "全局更新:" + DateTime.Now.ToString();
}
}
工程地址http://210.10.2.30/upload/udp.rar
你测试过了吗?我经过测试,楼主代码没有错。<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
但是把这句去掉了,不去掉应该也没事。
你测试过了吗? 我经过测试,楼主代码没有错。 <%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
但是把这句去掉了,不去掉应该也没事。4楼,代码没问题吗,为什么我这里都会刷新,你那里局部刷新会只局部刷新吗,难道我的Ajax有问题?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Label ID="Label2" runat="server" Text="外部标记"></asp:Label><br />
<br />
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="局部刷新" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="全局刷新" />
<asp:FileUpload ID="FileUpload1" runat="server" text="aa" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
<asp:PostBackTrigger ControlID="Button2" />
</Triggers>
</asp:UpdatePanel>
</form>
</body>
</html>后台
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Random ran = new Random();
int j = ran.Next(0, 255);
int k = ran.Next(0, 255);
int m = ran.Next(0, 255);
Label2.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(j)), ((System.Byte)(k)), ((System.Byte)(m))); }
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "局部更新:" + DateTime.Now.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "全局更新:" + DateTime.Now.ToString();
}}
UpdatePanel mapanel = UpdatePanel1;
//设置触发模式
mapanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
//注册button为异步更新控件
ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(this.Button1); 试试看