• 光盘AJAX


    网页左下角的js报错行数指的是 查看源代码的行数,而不是源文件中的行数。

    动态时间:

    function Mytimer()

    {

    var now=new Date();

    var msg=now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();

    var label=window.document.getElementById("Label1");

    label.innerHTML=msg;

    //window.setTimeout(Mytimer,1000);  效果跟下面的setInterval()一样,setInterval会不停地向服务器发请求不管服务器是否处理得完,setTimeout可以设定间隔时间等服务器处理完再发送下一个请求。

    }

    var mytimerid = window.setInterval(Mytimer,1000);

    function StopMytimer()

    {

    window.clearInterval(mytimerid);

    }

    //window.setTimeout(Mytimer,1000); 

    window.opener 返回打开当前窗口的那个窗口

    window.status 设置和返回窗口状态栏中文本

    一般处理程序中处理xml传过来的值:

    System.Xml.XmlDocument xml=new System.Xml.XmlDocument();

    xml.Load(context.Request.InputStream);

    System.Xml.XmlElement s1=xml.SelectSingleNode("/paras/para[1]") as System.Xml.XmlElement;

    System.Xml.XmlElement s2=xml.SelectSingleNode("/paras/para[2]") as System.Xml.XmlElement;

    int n1=Convert.ToInt32(s1.InnerText);

    int n2=Convert.ToInt32(s2.InnerText);

    string result=String.Format("<result>{0}</result>",n1+n2);

    context.Response.ContentType="text/xml";

    context.Response.write(result);

    给web控件加事件函数:

    this.TextBox1.Attributes["onblur"]="CheckUserName";

    AJAX.net 下载地址:www.schwarz-interactive.de

    注册程序集  NET1.1使用AjaxPro.dll     NET2.0使用AjaxPro2.dll

    在web.config中登记:将下载的压缩包中的web.config中的

    <location path="ajaxpro">

    <system.web>

    <httpHandlers>

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

    </httpHandlers>

    </system.web>

    </location>

    增加到</system.web>元素的后面

    (APP_Code/UserManager.cs)处理方法上 需要加上[AjaxPro.AjaxMethod]标签 

    如果处理函数需要使用Session,使用如下的标签[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]

    Request不可以直接使用,应使用如下的方法HttpContext.Current.Request

    Default.aspx.cs文件中注册需要生成代理的类型:

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

    this.TextBox1.Atributes["onblur"]="AjaxCheck(this);";

    Default.aspx页面:

    <script>

    function AjaxCheck(ctl)

    {

    var name=ctl.value;

    var result=UserManager.IsUserExist(name);

    var label=document.getElementById("Label2");

    if(result.error==null)

    {

    if(result.value)

    label.innerHTML="用户已经存在";

    else

    label.innerHTML="用户名有效";

    }

    }

    </script>

    异步调用:

    <script>

    function callback(result)//不论服务器端返回的参数是什么,这里的参数都是result

    {

    if(result.error==null)

    {

    var ctl=document.getElementById("Msg");

    ctl.innerHTML=result.value;

    }

    window.setTimeout(displayTime,1000);

    }

    function displayTime()

    {

    //负责发出请求

    TimeServer.GetTime(callback);//参数名为上面的函数名

    //请求发出后,继续执行,不再等待结果

    }

    window.setTimeout(displayTime,1000);

    </script>

    HTML的button点击不会产生提交,单web控件中的button点击会提交。

    复制machine.config文件中的membership节点到自己的Web.config文件中,放在<system.web>节点下。修改其中的name、connectionStringName ...等属性。

    ASP.net网站管理工具->提供程序配置->为每项功能选择不同的提供程序(高级)->选择自己命名的名称

    this.Label2.Text = this.User.Identity.Name;如果为Windows验证则会显示如GHOST-CFBD9CAFE\Administrator;

    如果为Form验证则会显示用户名称,但需要在web.config中配置用户授权信息。

    如果应用AJAX.NET的页面要登录后才能看到,则web.config页面<location path="ajaxpro">节点下注释掉的部分应改为<authorization><allow users="*"></authorization>

    function sendMsg()

    {

    var ctlSender=document.getElementById("LblName");

    //通过增加一个参数,使用异步调用

    ChatManager.NewChat(ctlSender.value,null);

    }

    清除ListBox中原来的内容:

    while(ulist.childNodes.length>0)

    ulist.removeChild(ulist.childNodes[0]);

    增加内容:

    for(var i=0;i<result.value.length;i++)

    {

    option=document.createElement("option");

    option.appendChild(document.createTextNode(result.value[i]));

    option.setAttribute("value",result.value[i]);

    ulist.appendChild(option);

    }

    onchange="selectUser(this)"

    AspAjax(只能用于.NET2.0):

    安装 AspAJAXExtSetup.msi

    新建网站-->选择ASP.NET AJAX-Enabled Web Site

    当母板页用了ScriptManager时,其他页就用scriptManagerProxy,

    UpdateProgress控件用于显示Loading的信息.

    把AjaxControlToolkit解压生成的项目重新生成下

    System.Threading.Thread.Sleep(10000);//用于延长服务器端的回发时间

  • 相关阅读:
    《代码整洁之道》读书笔记六
    第九周总结
    《构建之法》读后感(五)
    学习进度条-第十二周
    3. 统计数字
    《构建之法》读后感(四)
    学习进度条-第十一周
    4. 丑数 II
    《构建之法》读后感(三)
    学习进度条-第十周
  • 原文地址:https://www.cnblogs.com/cw_volcano/p/1947522.html
Copyright © 2020-2023  润新知