Kendo ui 从剑道UI窗口发布Ajax表单

Kendo ui 从剑道UI窗口发布Ajax表单,kendo-ui,ajax.beginform,Kendo Ui,Ajax.beginform,要编辑记录,我将打开一个模式剑道UI窗口,其中填充了一个包含支持AJAX的表单的局部视图: @model MVC_ACME_Hardware.Models.BaseModel <script type="text/javascript"> $(function () { $("form").kendoValidator(); }); </script> @using (Ajax.BeginForm("EditProduct", new

要编辑记录,我将打开一个模式剑道UI窗口,其中填充了一个包含支持AJAX的表单的局部视图:

@model MVC_ACME_Hardware.Models.BaseModel

<script type="text/javascript">
    $(function () {
        $("form").kendoValidator();
    });
</script>

@using (Ajax.BeginForm("EditProduct", new AjaxOptions { UpdateTargetId = "ProductDiv", OnSuccess = "SomeMethod" }))
{
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>EmployeeFTE</legend>

        @Html.HiddenFor(model => model.Products.Product_ID)

        <div class="editor-label">
            @Html.LabelFor(model => model.Products.Product_Name)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Products.Product_Name)
            @Html.ValidationMessageFor(model => model.Products.Product_Name)
        </div>

        <input type="submit" value="Save" class="myButton" />
    </fieldset>
}
@model MVC\u ACME\u Hardware.Models.BaseModel
$(函数(){
$(“表单”).kendoValidator();
});
@使用(Ajax.BeginForm(“EditProduct”,新的AjaxOptions{UpdateTargetId=“ProductDiv”,OnSuccess=“SomeMethod”}))
{
@Html.ValidationSummary(true)
雇员
@Html.HiddenFor(model=>model.Products.Product\u ID)
@LabelFor(model=>model.Products.Product\u Name)
@EditorFor(model=>model.Products.Product\u Name)
@Html.ValidationMessageFor(model=>model.Products.Product\u Name)
}
当我运行表单并单击弹出窗口上的“保存”时,表单成功发布,但未通过AJAX完成发布,并且未调用我的“SomeMethod”onsuccess方法。我试着添加

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

…在局部视图上,但没有帮助。如何使用AJAX提交表单?我错过了一些明显的东西。谢谢

试试这样的方法(注意输入类型):


和$(document).ready()中的

var validator=$(document.forms[0]).kendoValidator().data(“kendoValidator”);
$(“#btnSave”)。单击(函数(e){
if(validator.validate()){
var formContent=$(document.forms[0]).serialize();
var url=$(document.forms[0]).action;
$.post(url,formContent).done(函数(数据){
$(document.body).append(“success”);
});
}
});

如果您想使用Ajax表单的MVC和Ajax选项的不引人注目的验证,我认为您需要添加这些文件

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

var validator = $(document.forms[0]).kendoValidator().data("kendoValidator");    
$("#btnSave").click(function(e) {     
              if (validator.validate()) {
                    var formContent = $(document.forms[0]).serialize();
                    var url = $(document.forms[0]).action;
                    $.post(url, formContent).done(function(data) {
                          $(document.body).append("<div class='savedRecordMessage'>success</div>");
                    });
               }
        });
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>