簡體   English   中英

在ASP.NET MVC 3應用程序中替換jQuery

[英]Replacing jQuery in ASP.NET MVC 3 application

目前它只是一個智力練習,因為我沒有時間投入這個,但我感興趣,如果有人有任何經驗完全取代jQuery與另一個JavaScript框架,如Dojo Toolkit谷歌閉包

實際上有多少jQuery被用於MVC框架,或者它是以不引人注目的方式實現的,所以至少在理論上,它都可以被替換......

替換整個javascript框架會涉及什么?

jQuery中沒有任何內容,它完全是關於開發人員,如果你想使用它,它將使用jQuery,如果你想使用ASP.NET Ajax庫,它將使用它,如果你想使用其他任何東西..相同的答案。

當你有一個帶有一些驗證的Model時,.NET Framework唯一要做的就是將data-屬性添加到輸入表單中,從中你可以詳細說明你自己的版本來進行客戶端驗證。

例如:

[Required]
[ValidatePasswordLength]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

然后

<div class="editor-label">
    @Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
    @Html.PasswordFor(m => m.Password)
    @Html.ValidationMessageFor(m => m.Password)
</div>

<div class="editor-label">
    @Html.LabelFor(m => m.ConfirmPassword)
</div>
<div class="editor-field">
    @Html.PasswordFor(m => m.ConfirmPassword)
    @Html.ValidationMessageFor(m => m.ConfirmPassword)
</div>

將翻譯成

<div class="editor-label">
    <label for="Password">Password</label>
</div>
<div class="editor-field">
    <input data-val="true" data-val-length="&amp;#39;Password&amp;#39; must be at least 6 characters long." data-val-length-min="6" data-val-required="The Password field is required." id="Password" name="Password" type="password">
    <span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span>
</div>

<div class="editor-label">
    <label for="ConfirmPassword">Confirm password</label>
</div>
<div class="editor-field">
    <input data-val="true" data-val-equalto="The password and confirmation password do not match." data-val-equalto-other="*.Password" id="ConfirmPassword" name="ConfirmPassword" type="password">
    <span class="field-validation-valid" data-valmsg-for="ConfirmPassword" data-valmsg-replace="true"></span>
</div>

從這里,您可以創建自己的客戶端驗證 上面的代碼取自默認項目,它沒有jQuery集成......

如果你想要jQuery集成 ,那么你需要做的就是追加這兩個文件:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

當然,jQuery Library也是如此,你可以看到,你在所有.NET Framework中都有一個告訴Framework要做什么,而不是相反的方式;)

asp.net mvc-3中的客戶端驗證基於html-5屬性,如果您不在頁面上包含jquery validate和ouobtrusive腳本,它將僅回退到服務器端驗證。 這是不引人注目的第一個證據。 所以,我相信,理論上你可以在你想要的任何js庫中推出自己的驗證框架。 您自己的驗證框架也必須使用這些html屬性進行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM