国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

在ASP.NET AJAX中別使用mode="Legacy"

2019-11-18 16:47:16
字體:
供稿:網(wǎng)友

  最近,我?guī)瓦^幾個開發(fā)人員,他們遇上了一些古怪的javaScript問題,這些問題會在使用asp.net Ajax 以及他們的一些自定義的Javascript腳本時出現(xiàn)。問題的主因在于,他們是把VS 2003 Web項目自動移植到VS 2005的,在他們的web.config文件中還配置有 <xhtmlConformance mode="Legacy"/> 。

  假如你在你的 web 應(yīng)用中編寫了自定義的客戶端JavaScript腳本,而且將使用AJAX的話,請讀下去,了解如何避免這個常見的疑難雜癥。

  癥狀:

  當你往先前成功地從VS 2003 升級到VS 2005的項目中添加新的客戶端JavaScript腳本時,你會看到奇怪的行為。在使用ASP.NET AJAX UpdatePanel 控件時,這個奇怪的行為有時會包括頁面做整頁 postback,而不僅是遞增性的局部更新的情形。

  當你打開你的web.config文件,你會看到其中的 <xhtmlConformance/> 元素,象這樣:

<configuration>

    <system.web>
        <xhtmlConformance mode="Legacy" />
    </system.web>

</configuration>
  背景:

  ASP.NET 1.0 和 1.1 中的許多服務(wù)器端控件并不輸出與XHTML兼容的標識。ASP.NET 2.0 對此做了改變,在默認情形下,所有的服務(wù)器端控件都會輸出與XHTML兼容的標識 。

  但在早期的ASP.NET 2.0 beta 中我們注意到的一件事情是,當把客戶應(yīng)用升級時,其實,很多應(yīng)用會假設(shè)頁面輸出并不是與XHTML兼容的。把我們服務(wù)器控件的默認輸出改成與XHTML兼容的話,它有時會修改頁面的視覺顯示。為向后兼容的目的,我們添加了上面這個 <xhtmlConformance> 設(shè)置,允許開發(fā)人員可以設(shè)置控件以Legacy模式(即與ASP.NET 1.1一樣,會輸出非XHTML標識),或者Transitional 模式 (XHTML Transitional) ,或者 Strict 模式 (XHTML Strict)顯示。

  在默認情形下,當你使用VS 2003升級到VS 2005的Web項目移植向?qū)r(無論是網(wǎng)站或 web 應(yīng)用項目),你的web.config文件里會添有這個legacy配置。

  解決方案:

  除非你已知當你的網(wǎng)站以XHTML模式運行時會有問題(但你還沒時間更正),我總是建議從你的web.config文件里去掉 <xhtmlConformance> 這部分,或者你也可以明確地將其設(shè)置為Transitional 或 Strict。

  這將使得你的HTML輸出是符合標準的,此外,這也將導(dǎo)致你的服務(wù)器控件的HTML輸出是well formed,即, 開始標簽和結(jié)束標簽總是相匹配的。當你使用AJAX技術(shù)來動態(tài)替換你的頁面上某些HTML元素的內(nèi)容時,這尤其重要,否則的話,客戶端JavaScript腳本有時會搞不清楚容器元素,導(dǎo)致出錯。它也將確保ASP.NET AJAX會在你的網(wǎng)站上正常工作。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安陆市| 泽州县| 嘉鱼县| 修武县| 澄城县| 孟州市| 鄂伦春自治旗| 玉门市| 兴山县| 阿尔山市| 渭源县| 环江| 沛县| 通化市| 佛学| 肃南| 牟定县| 甘洛县| 邵东县| 昌邑市| 搜索| 海盐县| 高邑县| 修武县| 武城县| 呼图壁县| 沛县| 石嘴山市| 调兵山市| 舞钢市| 天门市| 海宁市| 白山市| 南郑县| 惠东县| 繁峙县| 永州市| 宜都市| 县级市| 乌海市| 宜章县|