光盘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);//用于延长服务器端的回发时间

原文地址:https://www.cnblogs.com/cw_volcano/p/1947522.html