当前位置: 代码迷 >> 综合 >> 初学.net中ajax控件 updatePanel VS 2005 使用发生的一个问题
  详细解决方案

初学.net中ajax控件 updatePanel VS 2005 使用发生的一个问题

热度:76   发布时间:2023-12-09 01:17:01.0

updatePanel无法进行更新的问题,一开始我用了ajax是在"asp.net模版"下进行操作的,当在其中写入如下简单的代码时候,本来做出的效果应该是可以部分更新的,可是更新失败,还是会全局更新!

代码1:

<%@ 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">
        <asp:ScriptManager ID="ScriptManager1" runat="server"/>
       
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <fieldset>
                         UpdatePanel外当前时间为:<%=System.DateTime.Now %>
                        <asp:Button ID="Button1" runat="server" Text="Button" />
                    </fieldset>
                   
                </ContentTemplate>
            </asp:UpdatePanel>
    
     UpdatePanel外当前时间为:<%=System.DateTime.Now %>
       
    </form>
</body>
</html>

 后来经过仔细研究下,发现原来在建站模版中又多了一个asp.net ajax web site 然后就用这个模板放入 updatePanel控件来进行实验。代码如下

代码2:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
       
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <fieldset>
                        UpdatePanel中当前时间为:<%=System.DateTime.Now%>
                        <asp:Button ID="Button1" runat="server" Text="Button" />
                    </fieldset>
                </ContentTemplate>
               
            </asp:UpdatePanel>
             UpdatePanel外当前时间为:<%=System.DateTime.Now %>
           
    </form>
</body>
</html>
再次进行调试,居然成功了部分更新,由此让我知道了,在建立一个用到ajax控件的网站上必须要采取ajax-enabled web site这个模板,否则将无法进行正常的使用ajax ,我实验了几次,也对这两次的代码进行了比较,发现有一个区别之处,在代码1中多了个:

<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI" TagPrefix="asp" %>

这是对使用ajax控件的注册,没有了,将无法实现调用ajax控件,在代码2中没有发现这个,为什么它就可以用ajax控件呢 也许这个模板已经集成了它了吧 没仔细研究 有待考证!

ajax给网站很多好处,比起用javascript来实现要简化了很多,但效率问题,没有考虑,有待研究,继续努力的学习ajax中..........................................................................