今天,有個網友提問: 說是上傳到服務器上的網站,打開有驗證控件的頁面,提示JS錯誤:WebForm_PostBackOptions 未定義;所有的驗證控件都失效了。
其實這個問題,網上一搜一大把,主要原因就是2個:
- *.axd 文件的映射在 IIS 中丟失了 或者 沒有配置正確。
- 使用了 DNN中的 httpCompress組件, 但是web.config中沒有正確配置
下面分別給出解決方法:
對於1的情況:
進入IIS,站點屬性,站點配置填加.axd的映射,但“檢查文件是否存在”不能選擇。
GET,HEAD,POST,DEBUG
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
.axd
對於2的情況:
在web.config中
<httpCompress preferredAlgorithm="gzip" compressionLevel="high">
<excludedMimeTypes>
<add type="image/jpeg"/>
<add type="image/gif"/>
<add type="text/x-component" /> <!-- 解決 FreeTextBox 出錯的問題—>
<add type="text/plain"/> <!--解決Ajax回調不支持壓縮格式的問題-->
</excludedMimeTypes>
<excludedPaths>
<add path="NoCompress.aspx"/>
<add path="Resource.axd"/>
<add path="WebResource.axd"/> <!-- 解決 javascript 出錯的問題-->
</excludedPaths>
</httpCompress>