0

我有一个动态视图,它从控制器呈现为 PartialView:

@model dynamic
@using (Html.BeginForm("Edit", null,  FormMethod.Post))
 {
    @Html.ValidationSummary(true)

    @Html.EditorForModel()

 <input type="submit" value="Edit" />
}

当我点击提交按钮时,如果缺少任何内容或任何格式不正确等,它应该显示验证消息,

但是,在点击提交按钮时,会在显示消息之前调用发布编辑操作。在 asp.net 术语中的典型回发正在发生。在执行服务器控制器代码之前,它不应该在客户端显示错误吗?

我有点困惑,有人可以澄清这是正确的方式还是我做错了什么?

4

1 回答 1

-2

看法

 @using (Html.BeginForm("Index", "Content", FormMethod.Post, new { id = "FrmIndex" }))
        { 

            <div>
                @if (Model.ID != 0)
                {
                    <label style="float: left;">
                        Id</label>
                    <input id="txtID-@Model.ID.ToString()" type="text" class="hide" value="@Model.ID.ToString()"/>
                }

            </div>
            <div>
                              @if (Model.Name != null)
                {
                    <label style="float: left;">
                        Name</label>
                    <input id="txtName-@Model.ID.ToString()" type="text" class="hide" value="@Model.Name.ToString()"/>
                }
                else
                {
                    <label style="float: left;">
                        Name</label>
                    @Html.TextBox("Name")
                    @Html.ValidationMessage("Name")
                }
            </div>
 <input type="submit" value="Save" style="float: left;" id="btnSave" title="btn" />
}

使用此脚本进行验证

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

脚本

 <script type="text/javascript">
        $(document).ready(function () {

            $("#btnSave").click(function () {

                var validation = $("#FrmIndex"); // My From Id
                if (!validation.valid()) {
                    return false;
                }

            });
        });
    </script>
于 2013-07-18T06:16:46.617 回答