内容页中使用UpdatePanel问题

zengbingling 2010-08-29 10:48:21
<%@ Page Language="C#" MasterPageFile="~/member/MemberMaster.master" AutoEventWireup="true" CodeFile="MemberOrders.aspx.cs" Inherits="member_MemberOrders" Title="无标题页" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script src="calendar.js" type="text/javascript"></script>

<script type="text/javascript">
var currentItem=null;
function selectorders(src,arg)
{
if(currentItem==null)
{
currentItem=document.getElementById("sm1");
}
if(src==currentItem)
{
return;
}
currentItem.style.borderBottom="solid 1px #9ac8e0";
src.style.borderBottom="none";
currentItem=src;
__doPostBack("UpdatePanel1",arg);
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div style="width: 100%; margin: 0 auto">
<table>
<tr>
<td id="sm1" onclick="selectorders(this,2);" align="center" style="width: 70px; color: #0561b0;
cursor: pointer; border: solid 1px #9ac8e0; border-bottom: none">
正在交易
</td>
<td style="width: 10px; border-bottom: solid 1px #9ac8e0">
 
</td>
<td id="sm2" onclick="selectorders(this,0);" align="center" style="width: 70px; cursor: pointer;
border: solid 1px #9ac8e0">
交易成功
</td>
<td style="border-bottom: solid 1px #9ac8e0; width: 10px">
</td>
<td id="sm3" onclick="selectorders(this,1);" align="center" style="width: 70px; cursor: pointer;
border: solid 1px #9ac8e0">
交易失败
</td>
<td style="border-bottom: solid 1px #9ac8e0">
</td>
</tr>
</table>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>

上面代码在单独页面执行可以实现局部刷新,但放在有母版页的页面中不行了,成整页刷新 了。
...全文
91 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengbingling 2010-08-29
  • 打赏
  • 举报
回复
我是不想让currentItem的值因为回发而改变,所以放在updatepanel外面。但为什么还是会变,在单独页面中国不会变的。





有高手吗?
porschev 2010-08-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 q107770540 的回复:]
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
这句放在母版页中就可以了
页面中不需要
[/Quote]

zengbingling 2010-08-29
  • 打赏
  • 举报
回复
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
这句放在母版页中就可以了。


都一样的
zengbingling 2010-08-29
  • 打赏
  • 举报
回复
<%@ Page Language="C#" MasterPageFile="~/member/MemberMaster.master" AutoEventWireup="true" CodeFile="MemberOrders.aspx.cs" Inherits="member_MemberOrders" Title="无标题页" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script src="calendar.js" type="text/javascript"></script>

<script type="text/javascript">
var currentItem=null;
function selectorders(src,arg)
{
if(currentItem==null)
{
currentItem=document.getElementById("sm1");
}
if(src==currentItem)
{
return;
}
currentItem.style.borderBottom="solid 1px #9ac8e0";
src.style.borderBottom="none";
currentItem=src;
__doPostBack("UpdatePanel1",arg);
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div style="width: 100%; margin: 0 auto">
<table>
<tr>
<td id="sm1" onclick="selectorders(this,2);" align="center" style="width: 70px; color: #0561b0;
cursor: pointer; border: solid 1px #9ac8e0; border-bottom: none">
正在交易
</td>
<td style="width: 10px; border-bottom: solid 1px #9ac8e0">
 
</td>
<td id="sm2" onclick="selectorders(this,0);" align="center" style="width: 70px; cursor: pointer;
border: solid 1px #9ac8e0">
交易成功
</td>
<td style="border-bottom: solid 1px #9ac8e0; width: 10px">
</td>
<td id="sm3" onclick="selectorders(this,1);" align="center" style="width: 70px; cursor: pointer;
border: solid 1px #9ac8e0">
交易失败
</td>
<td style="border-bottom: solid 1px #9ac8e0">
</td>
</tr>
</table>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Repeater ID="rporders" runat="server">
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width:100%; line-height:24px; border:solid 1px #9ac8e0; border-top:none">
<tr>
<td style="border-bottom:solid 1px #cccccc">
订单状态:<%# GetState(int.Parse(Eval("state").ToString())) %>
</td>
</tr>
<tr>
<td style="border-bottom:solid 1px #cccccc">
订单编号:<%# Eval("number").ToString() %>       
订单时间:<%# DateTime.Parse(Eval("ordertime").ToString()).ToLongDateString() %>
</td>
</tr>
<tr>
<td>
<%# GetProducts(Eval("product_info").ToString()) %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
zengbingling 2010-08-29
  • 打赏
  • 举报
回复
没有明白我的意思。现在UpdatePanel1里是一个GridView,我只想更新GridView的数据,外面的不更新
q107770540 2010-08-29
  • 打赏
  • 举报
回复
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
这句放在母版页中就可以了
页面中不需要
  • 打赏
  • 举报
回复
content2里边怎么出了个 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>?

感觉就好象脚后跟上又长出两个脑袋来了。
zengbingling 2010-08-29
  • 打赏
  • 举报
回复
__doPostBack("UpdatePanel1",arg);运行后怎么页面都回发了
wuyq11 2010-08-29
  • 打赏
  • 举报
回复
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table>
<tr>
...

</ContentTemplate>
</asp:UpdatePanel>

http://msdn.microsoft.com/zh-cn/library/bb398864.aspx
q107770540 2010-08-29
  • 打赏
  • 举报
回复
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
//在此处将整个前台包起来
</ContentTemplate>
</asp:UpdatePanel>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧