注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我只是一个人

我爱一个人

 
 
 

日志

 
 

.net 无刷新环境的配置及简单实例说明~  

2011-02-14 19:46:12|  分类: 网页制作--技巧| |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

A:用直接调用页面的cs文件里调用ajax方法

1、引用AjaxPro.2.dll动态连接库

2、在cs文件中引用AjaxPro命名空间  using AjaxPro;

3、在Page_Load方法中键入:AjaxPro.Utility.RegisterTypeForAjax(typeof(Default3));

Default3为页面类名,如:下边完整示例中class Default3: System.Web.UI.Page  中的

4、把要被调用的方法设置为public 属性,并且必须有返回值

5、在被调用的方法前边加上: [AjaxPro.AjaxMethod()]不能有分号后边并且单独一行

6、在web.config中的 <httpHandlers>节中<remove verb="*" path="*.asmx"/>下添加:

<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>

7在页面中使用:ScriptManager 控件,并启用其: EnablePageMethods="true"属性备注,此处错误:只要开启<from runat="server"></from>标签就可以使用)

public partial class Default3 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        AjaxPro.Utility.RegisterTypeForAjax(typeof(Default3));

    }

 

    [AjaxPro.AjaxMethod()]

    public string ShowAjax()

    {

        return "welcome";

    }

 

}

前台js 使用方法

<script  type="text/javascript" >

        function ShowAjax(){

            Default3.ShowAjax(CallBack);

        }

        function CallBack(text){ 

            alert(text.value);

        }

</script>

js代码中Default3为后台的类名,见上边示例(同理)ShowAjax()cs文件中要被调用的方法名称;

CallBack为被调用方法返回参数传递给其来处理的函数,该函数必须有以参数用于接受后台返回值。

向后台传递参数的方法,如:Default3.ShowAjax(a,b,c,.........,CallBack);

 

 

 

 

 

示例:

 

aspx文件全部代码:

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

 

<!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>

    <script  type="text/javascript" >

        function ShowAjax(){

            Default3.ShowAjax(CallBack);

        }

        function CallBack(text){ 

            alert(text.value);

        }

   </script>

</head>

<body>

    <form id="form1" runat="server">

    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">

    </asp:ScriptManager>

    <div>

    <button type="button" id="button1" onclick=" ShowAjax();">dian  yi xia </button>

    </div>

    </form>

</body>

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

cs文件全部代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using AjaxPro;

 

public partial class Default3 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        AjaxPro.Utility.RegisterTypeForAjax(typeof(Default3));

    }

 

    [AjaxPro.AjaxMethod()]

    public string ShowAjax()

    {

        return "welcome";

    }

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bweb  server 中使用ajax技术

1、在webserver 文件的cs文件中添加引用命名空间:using System.Web.Script.Services;

2、在[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]下行添加:

[ScriptService]或者取消 [System.Web.Script.Services.ScriptService]的注释

3、创建被调用的函数,函数必须有返回值,并在其前边加上 [WebMethod]不能有分号后边并且单独一行

4在页面中使用:ScriptManager 控件,并启用其: EnablePageMethods="true"属性

引用js文件位置asmx文件的位置详细代码如下:

<asp:ScriptManager ID="ScriptManager1" runat="server">

        <Scripts>

            <asp:ScriptReference Path="~/javascript/yan.js" /> 

        </Scripts>

        <Services>

            <asp:ServiceReference Path="~/WebService.asmx" />

        </Services>

    </asp:ScriptManager>

 

前台js调用方法

<script  type="text/javascript" >

        function ShowAjax(){

            Default3.ShowAjax(CallBack);

        }

        function CallBack(text){ 

            alert(text.value);

        }

</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

全部代码示例如下:该示例使用了数据库,数据库名为My.mdb  表明为

Aspx文件代码如下:

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

 

<!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">

        <Scripts>

            <asp:ScriptReference Path="~/javascript/yan.js" /> 

        </Scripts>

        <Services>

            <asp:ServiceReference Path="~/WebService.asmx" />

        </Services>

    </asp:ScriptManager>

    <div id="top"><img src="Images/top.jpg" alt="top" align="bottom" /></div>

    <div id="all">

        <table width="100%"  height="300px">

            <tr>

                <td width="20%"  align="right">

                    帐号:</td>

                <td width="25%">

                    <input id="ID" type="text"  maxlength="16" onfocus="IDTitle();" onblur="activation();"    onkeyup="IDBlur();value=value.replace(/[^\w\.\/]/ig,'')"/></td>

                <td width="25%">

                    <div id="ids" class="textsize"></div></td>

                <td rowspan="11" valign="top">

                    <div id="Ti" class="textsize"></div>

                    </td>

            </tr>

            <tr>

                <td align="right">

                    昵称:</td>

                <td>

                    <input id="Name" type="text" maxlength="8" onfocus="NameTitle();"  onblur="activation();" onkeydown="Nameover();"/></td>

                <td>

                    <div id="names" class="textsize"></div></td>

            </tr>

            <tr>

                <td align="right">

                    密码:</td>

                <td>

                    <input id="Ps" type="password" maxlength="16" onfocus="PsTitle();"   onkeydown="jiance();"/></td>

                <td>

                    <table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc" height="23" style='display:inline'> 

                        <tr align="center" bgcolor="#eeeeee"> 

 

                            <td width="33%" id="strength_L"></td> 

 

                            <td width="33%" id="strength_M"></td> 

 

                            <td width="33%" id="strength_H"></td> 

                        </tr> 

                    </table> 

               </td>

            </tr>

            <tr>

                <td align="right">

                    重复密码:</td>

                <td>

                    <input id="Ps_2" type="password" maxlength="16" onfocus="Ps_2Title();" onblur="activation();"  onkeydown="Ps_2over();"/></td>

                <td>

                    <div id="ps_2" class="textsize"></div></td>

            </tr>

            <tr>

                <td align="right">

                    性别:</td>

                <td>

                    :<input id="Radio1" type="radio" name="Sex" checked="checked" />&nbsp;&nbsp;&nbsp;&nbsp;:<input id="Radio2" type="radio" name="Sex" /></td>

                <td>

                    </td>

            </tr>

            <tr>

                <td align="right">

                    电子邮箱:</td>

                <td>

                    <input id="Mail" type="text" maxlength="32" onkeydown="Mailover();"/></td>

                <td>

                    <div id="mails" class="textsize"></div></td>

            </tr>

            <tr>

                <td align="right">

                    联系地址:</td>

                <td>

                    <input id="Adress" type="text" maxlength="60" onfocus="AdressTitle();" onblur="activation();" onkeydown="Adressover();"/></td>

                <td>

                   <div id="adresss" class="textsize"></div> </td>

            </tr>

            <tr>

                <td align="right">

                    <input type="checkbox" id="servers"   onblur="activation();" onkeydown="Serveris();"/></td>

                <td>

                    我已经阅读并同意<a href="#">《服务条款》</a></td>

                <td>

                    </td>

            </tr>

            <tr>

                <td>

                    </td>

                <td>

                    </td>

                <td>

                    </td>

            </tr>

            <tr>

                <td align="right">

                     <button disabled="disabled" id="gos" >&nbsp;&nbsp;提交数据&nbsp;&nbsp; </button>

                    </td>

                <td align="center">

                    <input id="Reset" type="reset" value="  重新填写  " /></td>

                <td>

                     &nbsp;</td>

            </tr>

           

            <tr>

                <td>

                    </td>

                <td align="center">

                     &nbsp;</td>

                <td>

                    </td>

            </tr>

        </table>

    </div>

    <div id="bomm">

        <img src="Images/bomm.jpg" />

    </div>

      

    </form>

</body>

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WebService.asmxCs文件代码如下:

using System;

using System.Collections;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.Xml.Linq;

using System.Web.Script.Services;

using System.Data.OleDb;

 

/// <summary>

///WebService 的摘要说明

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[ScriptService]

//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

// [System.Web.Script.Services.ScriptService]

public class WebService : System.Web.Services.WebService {

 

    public WebService () {

 

        //如果使用设计的组件,请取消注释以下行

        //InitializeComponent();

    }

 

    [WebMethod]

    public string HelloWorld() {

        return "Hello World";

    }

    [WebMethod]

    public bool   cha(string id)

 

    {

        //return id;

        bool a=false;

        csgo cs = new csgo();

        string sqlstring = "select * from [web] where ID='"+ id+"'";

        OleDbDataReader dr = null;

        dr = cs.ReturnDR(sqlstring);

        if (dr.Read())

 

        {

            

            a = true;

        }

        else

        {

          

            a = false;

        }

        dr.Close();

        return a;   

    }

   

}

Js部分代码如下:

function  yans(){

     var a=document.getElementById("ID").value

     WebService.cha(a,HandleStateChange);

     return HandleStateChange();

}

function  HandleStateChange(abc){

     if(abc==true){

        $get("ids").innerHTML="<font color='red'size='12'>ID已经被占用,请更换ID</font>";

     } else{

        $get("ids").innerHTML="可以注册";

     } 

        

}

 

类文件代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.OleDb;

 

 

 

/// <summary>

///csgo 的摘要说明

/// </summary>

public class csgo

{

    private string connstring = ConfigurationManager.ConnectionStrings["ASPNET3DBSTRING"].ConnectionString + AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.ConnectionStrings["access_path"].ConnectionString;

 

       public csgo()

       {

              //

              //TODO: 在此处添加构造函数逻辑

              //

      

       }

    public OleDbDataReader ReturnDR(string sqlstring)

    {

        //创建connection对象

        OleDbConnection conn = new OleDbConnection(connstring);

        //创建command对象

        OleDbCommand comm = new OleDbCommand(sqlstring, conn);

        conn.Open();

        OleDbDataReader dr = comm.ExecuteReader(CommandBehavior.CloseConnection);

 

        return dr;

    }

    /// <summary>

    /// 查询数据集,并返回DataSet

    /// </summary>

    /// <param name="sqlstring"></param>

    /// <param name="connstring"></param>

    /// <returns></returns>

    public DataSet ReturnDS(string sqlstring)

    {

        //创建connection对象

        OleDbConnection conn = new OleDbConnection(connstring);

        OleDbDataAdapter da = new OleDbDataAdapter(sqlstring, connstring);

        DataSet ds = new DataSet();

        conn.Open();

        da.Fill(ds);

        conn.Close();

        return ds;

    }

    /// <summary>

    /// 执行简单更新插入语句

    /// </summary>

    /// <param name="sqlstring"></param>

    /// <param name="connstring"></param>

    /// <returns></returns>

    public void InsertID(string sqlstring)

    {

        //创建connection对象

        OleDbConnection conn = new OleDbConnection(connstring);

        //创建command对象

        OleDbCommand comm = new OleDbCommand(sqlstring, conn);

        conn.Open();

        comm.ExecuteNonQuery();

        conn.Close();

    }

   

}

  评论这张
 
阅读(238)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018