ASP.Net:我需要添加_validationscriptpartial的javascript源吗?CSHTML转换为



Net 5项目我有一个默认名为_ValidationScriptsPartial.cshtml的文件:

<environment names="Development">
    <script src="~/lib/jquery-validation/jquery.validate.js"></script>
    <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
</environment>
<environment names="Staging,Production">
    <script src="//ajax.aspnetcdn.com/ajax/jquery.validation/1.11.1/jquery.validate.min.js"
            asp-fallback-src="~/lib/jquery-validation/jquery.validate.js"
            asp-fallback-test="window.jquery && window.jquery.validator">
    </script>
    <script src="//ajax.aspnetcdn.com/ajax/mvc/5.2.3/jquery.validate.unobtrusive.min.js"
            asp-fallback-src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"
            asp-fallback-test="window.jquery && window.jquery.validator && window.jquery.validator.unobtrusive">
    </script>
</environment>

但是当我需要使用jquery验证时,我必须添加:

<script src="~/lib/jquery-validation/jquery.validate.js"></script>
        <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>

_layout.cshtml以下部分:

<environment names="Development">
            <script src="~/lib/jquery/dist/jquery.js"></script>
            <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
            <script src="~/lib/hammer.js/hammer.js"></script>
            <script src="~/lib/bootstrap-touch-carousel/dist/js/bootstrap-touch-carousel.js">
           I HAVE TO ADD SCRIPT FOR JQUERY VALIDATION HERE
            </script>
        </environment>

_ValidationScriptsPartial.cshtml的目的是什么?这个文件在项目中是如何使用的?请给我参考一下如何使用这个文件?

部分视图意味着在其他视图中使用。您通常不会将验证脚本添加到_layout.cshtml,因为在每个页面上都使用(_layout.cshtm)。

然而,如果你有一个视图,你需要使用这些脚本,你只需要在你的视图的.cshtml文件中添加部分视图,像这样:

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

如果你使用VS 2015创建了一个带有身份的标准web项目,那么你可以在Views/Account/Register.cshtml

中看到这个用法的例子。

例如:您有一个表单,其中一个字段为" required ";验证。您提交表单。案例1:当cshtml页面

没有使用_validationscriptpartial时

验证将发生,但它将检查ModelState是否有效,每次您提交表单。

案例2:当_ValidationScriptsPartial未在cshtml页面中使用时验证将发生,但它将是客户端验证,它不会执行控制器或相关方法中的任何任务,直到并除非您解决了所有验证问题。

要在cshtml页面中使用该文件,

@section Scripts
  {
     <partial name="_ValidationScriptsPartial" />
  }

最新更新