【问题标题】:Avoid postback when validating at submit (MVC)提交验证时避免回发 (MVC)
【发布时间】:2016-12-19 18:35:16
【问题描述】:

当我按下提交时,如何避免回发验证?按下提交时,页面重新加载/回发,然后它给了我验证错误。

@model X.Models.ModelVm

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">

        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.Birthday, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Birthday, new { htmlAttributes = new { @class = "form-control" } })  
                @Html.ValidationMessageFor(model => model.Birthday, "", new { @class = "text-danger" })             
            </div>
        </div>

        .....

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Get data" class="btn btn-default"/>                   
            </div>
        </div>
    </div>
}

我的视图模型:

[Required]
[DataType(DataType.DateTime)]
public DateTime Birthday { get; set; }

【问题讨论】:

    标签: c# jquery asp.net-mvc


    【解决方案1】:
    1. 开启ClientValidationEnabledUnobtrusiveJavaScriptEnabled
    2. 在您的视图中包括 jqueryjquery.validate.jsjquery.validate.unobtrusive.js

    【讨论】:

    • 太棒了,它正在工作!谢谢 :) 顺便说一句,我有什么办法可以为每个控制器打开一次 ClientValidationEnabledUnobtrusiveJavaScriptEnabled,还是每次我需要它以用于控制器中的特定方法时都添加它?
    • 是的,您可以在 Web.config 文件中添加条目,例如 here
    猜你喜欢
    • 2012-06-20
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    相关资源
    最近更新 更多