WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。

來源:互聯網
上載者:User

標籤:web開發

    一、問題產生的背景:

    在敲牛腩新聞發布系統的後台登入頁面的時候,我們用到了RequiredFieldValidator控制項(驗證非空控制項),該控制項的作用是禁止輸入規定的內容,RequiredFieldValidator控制項有一個屬性InitialValue(初值的意思),如果它的值是空,那麼這個空間就會起到禁止輸入規定的內容的作用了——禁止輸入“空”,另外,在驗證前會自動去掉輸入內容兩端的空格。當然,這個空間還有一個屬性ControlToValidate,這個屬性是設定對某個控制項進行驗證,在牛腩新聞發布系統中,我們用它來驗證我們輸入的使用者名稱、密碼、還有驗證碼是否為空白。

    例:

    下面一代碼錶示RequiredFieldValidator控制項對txtCode(驗證碼文字框)驗證,即不允許驗證碼為空白!

   

<asp:TextBox ID="txtCode" runat="server" CssClass ="textcode" OnTextChanged="txtCode_TextChanged"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="請輸入驗證碼" text="*" ControlToValidate ="txtCode"></asp:RequiredFieldValidator>
    然而,天不遂人願,牛腩老師用的是vs版本和我用的vs版本不一樣,我用的是vs2012,他用的是速成版,代碼一運行就會報錯,具體的錯誤如下!

    WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。請添加一個名為 jquery (區分大小寫)的 ScriptResourceMapping。

    於是自己在網上找了找此錯誤的解決方案,試了試,錯誤解決成功,但是自己很想知道產生錯誤的原因啊。

    二、錯誤原因:

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

    三、解決方案

    在Global.asax中對該屬性進行註冊,在根目錄下添加全域應用程式類Global.asax檔案,在Application_Start事件中添加如下代碼:

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition{Path = "~/scripts/jquery-1.7.2.min.js",DebugPath = "~/scripts/jquery-1.7.2.js",CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.min.js",CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.7.2.js"}); 
   上面代碼的意識是引用的是1.4.1版的jquery,當然,解決錯誤的方法還有很多,我只是介紹了一種,如果大件還想用其他的方法,可以去網上尋找。我給大家幾個連結。

    1、http://www.shaoqun.com/a/56680.aspx 

    2、http://www.cnblogs.com/fancybit/articles/3616311.html

    三、小結

    在學習過程中,我們總會遇到問題,到了現在的學習程度,我特別想鍛煉自己刨根問底的能力,就是在學習過程中我們盡量把知識往它的祖墳上刨,包括我們遇到的問題,我們一定要找到問題的根源,當這樣解決問題了之後,自己的心中便有了一種撥開雲霧重見天日的感覺,這個感覺,爽!!!!!

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.