調用頁面方法和webservice註:web.config中要指定允許調用web服務。必須為Post方式來調用。WEB服務返回的為XML串,所以用戶端要轉換為JSON再處理。 [WebMethod] public static string AjaxServiceTest(string str) { return string.Format("Hello,{0}", str); }
現在ajax很流行,最簡單的開發模式時背景程式只處理ajax請求,然後返回json資料,前段全部是靜態html,裡面用js構建介面。以前都是用一般處理常式來處理ajax請求,然後將結果用json類庫序列化成json返回給頁面。這樣做後端處理還是比較麻煩的,而且每個請求要麼單獨一個處理常式,要麼得加額外參數來區別不同的ajax請求,很煩,最近發現了一個更簡單的方法,直接用js調用.net
對比jquery對這兩種互動的實現:基於html互動:function verify(){ //解決中文亂碼問題的方法 1,頁面端發出的資料做一次encodeURI,伺服器端使用 new String(old.getBytes("iso8859-1"),"utf-8") //var url= "AJAXServer?name="+encodeURI($("#userName").val() ) ; // encodeURI處理中文亂碼問題 // 解決中文亂碼問題的方法
最近碰到一個問題:頁面使用了Ajax,非jQuery,用的是微軟的ScriptManager和UpdateProgress。如何在資料回傳過程中禁止使用者重複提交?即使用者點了提交按鈕後,按鈕不能用,等到資料回傳後,按鈕狀態自動變為可用!到微軟的論壇上去問了,高手給出了答案。經測試,下面的方法可行!前台頁面:<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1"
例子1:資料校正 在輸入form表單內容的時候,我們通常需要確保資料的唯一性。因此,常常在頁面上提供“唯一性校正”按鈕,讓使用者點擊,開啟一個校正小視窗;或者等form提交到伺服器端,由伺服器判斷後在返回相應的校正資訊。前者,window.open操作本來就是比較耗費資源的,通常由window.
No1—Prototype 特點:一個非常優雅的JS庫,定義了JS的物件導向擴充,DOM操作API,事件等等,之上還有rico/script.aculo.us實現一些JS 組件功能和效果(尚不夠完善),以prototype為核心,形成了一個外圍的各種各樣的JS擴充庫,是相當有前途的JS底層架構,突出特點就是非常易學 易用,門檻很低,常常是一兩行JS代碼就可以搞定一個相關的功能。同時它也是RoR整合的AJAX JS庫。Prototype官方網站No2—Dojo
Web.config的配置<httpModules>中添加<add name="CuteWebUI.UploadModule" type="CuteWebUI.UploadModule,CuteWebUI.AjaxUploader" /><assemblies>中添加<add assembly="CuteWebUI.AjaxUploader, Version=3.0.0.0, Culture=neutral, PublicKeyToken=e28c4b7
AJAX跨域問題的解決辦法 最近公司內部的architecture組正在熱烈討論AJAX,最後難免會談到如何跨域這個問題,因為從AJAX誕生那天起,XMLHttprequest對象在firefox下不能跨域請求的問題就一直存在,等待瀏覽器們去解決這個問題顯然不太現實,聰明的Web開發人員們早就想了一系列的方法來解決這個問題,下面列舉兩個比較不錯的方法:1.
PasswordStrengthExtender控制項用於對TextBox中輸入密碼進行一定的提示及控制。下面來看一個樣本:1)在VS2005中建立一個ASP.NET AJAX-Enabled Web
什麼是 JSON JSON概念很簡單,JSON 是一種輕量級的資料格式,他基於 javascript 文法的子集,即數組和對象表示。由於使用的是 javascript 文法,因此JSON 定義可以包含在javascript 檔案中,對其的訪問無需通過基於 XML 的語言來額外解析。不過在使用 JSON 之前,很重要的一點是理解 javascript 中數組及對象字面量的特殊文法。1.1 數組字面量 數組字面量,是用一對方括弧括起一組用逗號隔開的 javascript
檔案上傳(File upload)Ajax File UploadjQUploaderMultiple File Upload pluginjQuery File StyleStyling an input type fileProgress Bar Plugin表單驗證(Form Validation)jQuery ComboboxjQuery controlled dependent (or Cascadign) Select ListMultiple SelectsSelect box
先說故事,再說想法吧。我有一朋友做網站,用jQuery的Ajax方法從後端載入一段HTML代碼然後動態插入到網頁的Div元件中。這個東西太普遍了。jQuery強大的load方法可以完成這個事情。朋友的代碼是這麼寫的:var tab = jQuery("#dynamic_tab");var url =
應用篇,這以下的東西會借鑒網上其他人的文章,在這裡聲明一下 1.先把Ajax.dll添加引用到項目中,別告訴我不會,如果連這個也不會就太那個了,和添加其他DLL一樣,在項目上右擊,菜單上有個[添加引用],然後一步一步把那個.DLL檔案添加進來,之後你會在項目的引用中看到那個Ajax.dll就是添加成功了 2.修改Web.config。在 <system.web> 元素中添加以下代碼。這裡的Ajax.dll和Ajaxpro.dll引用方法是不一樣的,一定要注意
Sigma Grid Sigma Grid是一個採用純javascript開發的Ajax資料表格。特性包括:1.基於CSS控制外觀,內建Classic、Vista、Mac、XP四種風格。2.提供儲存格直接編輯功能,可以自訂編輯器,為儲存格設定數學計算公式,自訂儲存格表現方式。3.提供靈活的表頭控制功能比如:鎖定表頭,排序,拖動調整列寬。4.支援分頁,資料過濾,根據資料產生柱狀圖,餅狀圖,曲線圖。5.支援從多種資料來源載入資料:
在做ajax頁面無重新整理添加的時候,IE下遭遇Ajax緩衝,因為剛開始並不知道IE有這個壞毛病,折騰好久,終於解決問題。總結一下解決辦法:在IE下用Ajax請求某一頁面,通常會因為緩衝的原因而返回上一次的結果,造成混亂,[即get方式時,擷取資料,因發送參數和地址都一致,故IE瀏覽器會從緩衝中取,而不會去請求伺服器端,而post方式因為參數的不同,不會產生這個問題]而FF下不會出現這種情況。為了不受緩衝影響,可以這樣做: IE存取原則:Internet選項--瀏覽歷程記錄--設定--
AutoCompleteExtender控制項,固名思義就是可以輔助TextBox控制項自動輸入,實現如http://dict.yodao.com/這樣的效果。 AutoCompleteExtender控制項的屬性: 1.TargetControlID:指定將被輔助完成自動輸入的控制項ID,這裡的控制項只能是TextBox; 2.ServicePath:指出提供服務的WEB服務路徑,若不指出則ServiceMethod表示本頁面對應的方法名; 3.ServiceMethod:指
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="JQueryPro._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
240個jQuery外掛程式 概述jQuery 是繼 prototype 之後又一個優秀的 Javascript 架構。其宗旨是—寫更少的代碼,做更多的事情。它是輕量級的 js 庫(壓縮後只有21k) ,這是其它的 js 庫所不及 的,它相容 CSS3,還相容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery 是一個快速的,簡潔的 javaScript 庫,使使用者能更方便地處理
<html><head><title>Ajax中國網頁特效示範,RGB色彩轉換</title><style type="text/css"><!--body { font-family: "宋體"; font-size: 9pt; margin-top: 0px; margin-left: 0px; margin-right: 0px}A { COLOR: black; FONT-SIZE: 9pt; FONT-WEIGHT:
OO· 提高複用性,提高可維護性· 可以使用各種成熟的設計模式命名空間 ·除了避免命名衝突,還有比較重要的就是能使程式員方便的找到他們所需要的類型和類, 在開發中發現很多程式員命名空間的名字起的不知道什麼意思,然後某個命名空間下的類 的功能也不知道做什麼用的,兩種業務相關的類放在一個命名空間下,造成了代碼的層次 混亂,不方面以後維護。 註冊命名空間 Type.registerNamespace("Namespace");類 ·定義建構函式