AJAX.NET用户开发指南(5)

我想讨老婆

我想讨老婆

2016-02-19 18:47

今天图老师小编给大家展示的是AJAX.NET用户开发指南(5),精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

[Ajax.AjaxMethod]

public string Test1(string name, string email, string comment){
string html = "";
html += "Hello " + name + "<br>";
html += "Thank you for your comment <b>";
html += System.Web.HttpUtility.HtmlEncode(comment);
html += "</b>.";
return html;
}

  SessionState
  在服务端函数,你可能需要接受传送的session信息,为了做到这一点,必须要在想实现这个方式的服务端函数的Ajax.AjaxMethod属性上传递一个参数。

  在查看ajax可以支持session的时候,我们先看看其他的特征。在下面这个例子中,我们有一个文档管理系统,当一个用户对文档进行编辑的时候会给这个文档加锁,其他用户需要等到这个文档可用时才能修改。不使用Ajax,用户需要不断等待刷新,因为不得不不断的去检查文档的状态是否为可用,这当然不是一个很好的方案。用ajax的session state支持,这就比较容易了。

  我们首先写一个函数,这个函数通过遍历文档ID找到用户需要的文档,存储到session里,并返回没有占用的文档:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

'Vb.Net

<Ajax.AjaxMethod(HttpSessionStateRequirement.Read)> _
Public Function DocumentReleased() As ArrayList
If HttpContext.Current.Session("DocumentsWaiting") Is Nothing Then
Return Nothing
End If
Dim readyDocuments As New ArrayList
Dim documents() As Integer = CType(HttpContext.Current.Session("DocumentsWaiting"), Integer())
For i As Integer = 0 To documents.Length - 1
Dim document As Document = document.GetDocumentById(documents(i))
If Not document Is Nothing AndAlso document.Status = DocumentStatus.Ready Then
readyDocuments.Add(document)
End If
Next
Return readyDocuments
End Function

//C#
[Ajax.AjaxMethod(HttpSessionStateRequirement.Read)]
public ArrayList DocumentReleased(){
if (HttpContext.Current.Session["DocumentsWaiting"] == null){
return null;
}

ArrayList readyDocuments = new ArrayList();
int[] documents = (int[])HttpContext.Current.Session["DocumentsWaiting"];
for (int i = 0; i < documents.Length; ++i){
Document document = Document.GetDocumentById(documents[i]);
if (document != null && document.Status == DocumentStatus.Ready){
readyDocuments.Add(document);
}
}
return readyDocuments;
}
}

  我们在属性参数中指明了HttpSessionStateRequirement.Read(还可以是Write and ReadWrite)

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  下面写javascript函数来使用这个方法带来的结果:

<script language="javascript">
function DocumentsReady_CallBack(response){
if (response.error != null){
alert(response.error);
return;
}

if (response.value != null && response.value.length > 0){
var div = document.getElementById("status");
div.innerHTML = "The following documents are ready!<br />";
for (var i = 0; i < response.value.length; ++i){
div.innerHTML += "<a href="edit.aspx?documentId=" + response.value[i].DocumentId + "">" + response.value[i].Name + "</a><br />";
}
}
setTimeout('page.DocumentReleased(DocumentsReady_CallBack)', 10000);
}

</script>
<body onload="setTimeout('Document.DocumentReleased(DocumentsReady_CallBack)', 10000);"> 


  页面加载后每10秒钟向服务器函数请求一次。如果有返回,则call back函数检查response,并把最新的结果显示出来。

 结论

  Ajax技术可以给客户端提供丰富的客户体验,而ajax.net为您容易的实现这样强大的功能提供了可能。

展开更多 50%)
分享

猜你喜欢

AJAX.NET用户开发指南(5)

Web开发
AJAX.NET用户开发指南(5)

AJAX.NET用户开发指南(3)

Web开发
AJAX.NET用户开发指南(3)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

AJAX.NET用户开发指南(4)

Web开发
AJAX.NET用户开发指南(4)

AJAX.NET用户开发指南(2)

Web开发
AJAX.NET用户开发指南(2)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

AJAX.NET用户开发指南(1)

Web开发
AJAX.NET用户开发指南(1)

Ajax.Net快速入门

Web开发
Ajax.Net快速入门

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

迩有了迩想庇护的美丽,俄有了俄想依靠的肩膀

迩有了迩想庇护的美丽,俄有了俄想依靠的肩膀

WEB 2.0中AJAX应用的详细探讨

WEB 2.0中AJAX应用的详细探讨
下拉加载更多内容 ↓