關(guān)于asp.net前臺(tái)js調(diào)用后臺(tái)方法的問題
公司主營(yíng)業(yè)務(wù):做網(wǎng)站、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出贛縣免費(fèi)做網(wǎng)站回饋大家。
最近在壇子里解答壇友的問題,發(fā)現(xiàn)有好幾個(gè)問題,都是js調(diào)用C#后臺(tái)方法的問題。這里也總結(jié)一下,給后來人參考參考。
前臺(tái):
function QianTai() { var JSGetTime = "那個(gè)啥地區(qū)時(shí)間:"; var JSstr = '<%=GetNowTime("'+JSGetTime+'")%>'; alert(JSstr); }
后臺(tái):
public string GetNowTime(string str) { string aspGetTime = DateTime.Now.ToString(); return str+" "+aspGetTime; }
像上面這樣是可以正確彈出時(shí)間的。
但是像下面這個(gè)就不可行。
前臺(tái):
function aaa(){ for (var i=0;i<10;i++){ text+=pic[i]+"ddddddd"; } //我想把text傳到后臺(tái)解析,通過split分割返回第一值 var asdf = '<%=ss("' + text + '")%>'; alert(asdf); }
后臺(tái):
public string ss(string picURLs){ string pic; string[] pics = Regex.Split(picURLs,"ddddddd"); pic=pics[0]; return pic; }
解決方案是:要么在前臺(tái)split,要么用ajax來調(diào)后臺(tái)。這里后臺(tái)用到了regex正則替換。但是這里不起作用,因?yàn)閭鞯胶笈_(tái)的picURLs不是1111ddddddd這樣的字符串,而是"'+text+'"。即后臺(tái)方法優(yōu)先執(zhí)行,還沒等到j(luò)s賦值,已經(jīng)傳過去了,所以這里的正則替換不起作用??梢詥尾秸{(diào)試一下,看一下執(zhí)行的順序。