Visual Studio 2013新建ASP.NET項目使用Empty模板,在頁面中使用驗證控件出錯的解決方案


Visual Studio 2013新建ASP.NET項目使用Empty模板,在頁面中使用驗證控件,運行頁面,會出現如下的錯誤:

錯誤原因

         VisualStudio 2012(或2013) WebForm 4.5 開發中,很多控件默認Enable了 Unobtrusive ValidationMode(所謂Unobtrusive Validation,就是一種隱式的驗證方式)的屬性(和jquery的引用相關),但並未對其進行賦值, Programmer必須手動對其進行設置。比如,在進行數據驗證時使用的各種validator(今天使用的RequiredFieldValidator控件),以及進行authorization及authenication設置時,由於需要在前端調用jquery來進行身份驗證,都默認Enable了 Unobtrusive ValidationMode。如果不對該屬性進行配置,將會產生ERROR。

 

         解決方法

 

         從錯誤產生的原因我們能很容易的對症下葯,從錯誤原因中我們得到的解決問題的方法無非有三:

         1、  在程序允許的情況下,降低.Framework的版本,具體方法如下:

  1. <!--修改前-->  
  2. <system.web>  
  3.     <compilation debug="true" targetFramework="4.5" />  
  4. <httpRuntime targetFramework="4.5" />     <!—將其刪除-->  
  5. </system.web>  
  6.   
  7. <!--修改后-->  
  8. <system.web>  
  9.     <compilation debug="true" targetFramework="4.0" />  
  10. </system.web>  


         2、更改Web.config配置文件設置Unobtrusive ValidationMode的類型,具體方法如下:

  1. <!--修改前-->  
  2. <system.web>  
  3.     <compilation debug="true" targetFramework="4.5" />  
  4. <httpRuntime targetFramework="4.5" />  
  5. </system.web>  
  6.   
  7. <!--修改后-->  
  8. <system.web>  
  9.     <compilation debug="true" targetFramework="4.5" />  
  10. <httpRuntime targetFramework="4.5" />  
  11. </system.web>  
  12.   
  13. <appSettings>  
  14.         <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />  
  15. </appSettings>  

 

          3、找到相應的AspNet.ScriptManager.jQuery.dll文件將其復制到bin文件夾下。

         由於我是新建的空Web應用程序,因此沒有添加Jquery。我們可以通過新建一個非空的Web應用程序將里面的對應的Jquery文件粘貼到上文提到的文件夾下。

為了方便,大家可以點擊下載AspNet.ScriptManager.jQuery.dll。用這種方法后,頁面運行不報錯了,但發現驗證控件不起作用了,文本框沒有輸入,也能提交。這時需要在Web應用程序或ASP.NET網站下新建Scripts文件夾,把jquery-1.10.2.js(點擊下載jquery-1.10.2.js)文件復制到Scripts文件夾下,即可使驗證控件生效。

        本文參考了:http://blog.csdn.net/senior_lee/article/details/35337081?utm_source=tuicool


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM