<%@ 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">
                    &nbsp;
                </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>上面代码在单独页面执行可以实现局部刷新,但放在有母版页的页面中不行了,成整页刷新 了。

解决方案 »

  1.   

     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
      //在此处将整个前台包起来
      </ContentTemplate>
      </asp:UpdatePanel>
      

  2.   

     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
     <table>
      <tr>
    ...  </ContentTemplate>
      </asp:UpdatePanel>http://msdn.microsoft.com/zh-cn/library/bb398864.aspx
      

  3.   

     __doPostBack("UpdatePanel1",arg);运行后怎么页面都回发了
      

  4.   

    content2里边怎么出了个 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>?感觉就好象脚后跟上又长出两个脑袋来了。
      

  5.   

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    这句放在母版页中就可以了
    页面中不需要
      

  6.   

    没有明白我的意思。现在UpdatePanel1里是一个GridView,我只想更新GridView的数据,外面的不更新
      

  7.   

    <%@ 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">
      &nbsp;
      </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() %>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                        订单时间:<%# 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>
      

  8.   

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    这句放在母版页中就可以了。
    都一样的
      

  9.   

    我是不想让currentItem的值因为回发而改变,所以放在updatepanel外面。但为什么还是会变,在单独页面中国不会变的。有高手吗?