關(guān)于VS2003軟件出現(xiàn)的種種問(wèn)題進(jìn)行說(shuō)明解釋
本文講述如何導(dǎo)入項(xiàng)目,怎樣創(chuàng)建VS2003軟件。這些內(nèi)容都是我今天花花了一周的時(shí)間查閱資料并像IT精英學(xué)習(xí)出來(lái)的,中間可能有不少錯(cuò)誤是我沒(méi)有挑出的,歡迎大家指正。
而VS2003軟件中,可以建立多個(gè)form,但根本就沒(méi)有實(shí)際意義,因?yàn)槟銜?huì)發(fā)現(xiàn),在客戶端收到的代碼中,依然只有當(dāng)前活動(dòng)的一個(gè)card定義,并且你會(huì)看到,生成的wml中,card是沒(méi)有id這個(gè)屬性的.因?yàn)樗荒苌梢粋€(gè)card,因此微軟干脆把card的id這個(gè)屬性也給拋棄了,害得我研究半天,怎么來(lái)設(shè)定card 的id,氣憤!
而你在服務(wù)器定義的其它form跑哪里去了呢,它還是在服務(wù)器上,如果你當(dāng)前的card中有跳轉(zhuǎn)到其它c(diǎn)ard的代碼,用戶讓它執(zhí)行后,其實(shí)又讓手機(jī)去連接了服務(wù)器,來(lái)獲得另外一個(gè)card,因此微軟的所謂支持多form,是把我們騙了,與wml制定多card的初衷完全不合.
既然這樣如何解決呢,當(dāng)然就只有不用asp.net的form跳轉(zhuǎn)功能了,用手工輸出wml的方式,向客戶端發(fā)送多card的代碼.這中間就要用到自定義控件,以字符串輸出的方式來(lái)輸出wml,并且要欺騙asp.net,讓它輸出多card.注意最終生成的結(jié)果要完全符合wml的標(biāo)準(zhǔn)才行.
感覺(jué)微軟的移動(dòng)web自適應(yīng)功能,反而給開(kāi)發(fā)者帶來(lái)不便,并且自帶的移動(dòng)控件的兼容性能不能通過(guò)移動(dòng)聯(lián)通的要求,都很成問(wèn)題.
聽(tīng)說(shuō)VS2005是可以實(shí)現(xiàn)多card的輸出,沒(méi)用過(guò),不知道情況如何。
有一個(gè)項(xiàng)目,是由VS2003軟件轉(zhuǎn)換到VS2005下的,這段時(shí)間學(xué)習(xí)了asp.net ajax,感覺(jué)還不錯(cuò),就想著將其應(yīng)用到部分頁(yè)面,MS的東西用著就是簡(jiǎn)單,很快就完成,興沖沖地就想看看成果,系統(tǒng)正常啟動(dòng)了,沒(méi)有任何錯(cuò)誤,誰(shuí)知在我改變下拉列表的選項(xiàng)時(shí),本來(lái)應(yīng)該是UpdatePanel包含的那一塊內(nèi)容刷新,現(xiàn)在變成了整個(gè)頁(yè)面都刷新了,也就是異步調(diào)用變成了同步調(diào)用。
這是什么原因呢?是我的程序有誤,仔細(xì)對(duì)代碼做了檢查,并沒(méi)有發(fā)現(xiàn)什么問(wèn)題?;蛘呤桥渲梦募膯?wèn)題,我和其它測(cè)試成功的項(xiàng)目配置文件比較,完全相同。
百思不得其解,但明白應(yīng)該是轉(zhuǎn)換時(shí)造成的遺留問(wèn)題。這個(gè)問(wèn)題困擾了我?guī)滋?,在網(wǎng)上也沒(méi)有找到答案,前天參加陳黎夫(Dflying Chen)《css禪意花園》新書(shū)見(jiàn)面會(huì),也沒(méi)有找到明確的答案。
將那個(gè)項(xiàng)目應(yīng)用ajax的計(jì)劃只好暫時(shí)放棄,但心中又有一些不甘,總想找到問(wèn)題所在(完美主義者)。開(kāi)始仔細(xì)比對(duì)vs2003軟件和2005項(xiàng)目,終于發(fā)現(xiàn)資源文件AssemblyInfo.cs在vs2005下是沒(méi)有的,2005下資源文件放在web.config中,但項(xiàng)目在轉(zhuǎn)換后,仍然保留了這個(gè)文件,可能是考慮到有些特殊的配置信息存在,保留下來(lái)便于手工調(diào)整。
打開(kāi)這個(gè)文件,除了版本外并沒(méi)有寫(xiě)入其它什么東西,試著把它刪除看看吧,沒(méi)想到還真就是這兒的問(wèn)題,局部刷新的終于效果出來(lái)了。
問(wèn)題是解決了,但道理在哪兒呢?或許正如前面所述,轉(zhuǎn)換工具特意保留了這個(gè)資源文件,在2.0的環(huán)境下,發(fā)現(xiàn)存在這個(gè)資源文件,就直接從這里讀取信息,結(jié)果保存在web.config中的相關(guān)配置信息反而被忽略了,從而造成異步調(diào)用時(shí)無(wú)法找到相應(yīng)的資源、ajax失效的情況。
當(dāng)然,我的水平有限,以上原因只是猜測(cè),希望高手指點(diǎn)迷津!