.net 无法使用Ajax.BeginForm提交模型

.net 无法使用Ajax.BeginForm提交模型,.net,ajax,asp.net-mvc,.net,Ajax,Asp.net Mvc,我正在尝试为MVC上的应用程序用户制作一个更新表单 这是我的控制器: // Usuarios/Modificar [HttpPost, ActionName("Modificar")] public ActionResult Modificar(ApplicationUser modifiedUser) { using (ApplicationDbContext db = new ApplicationDbContext()) {

我正在尝试为MVC上的应用程序用户制作一个更新表单

这是我的控制器:

   // Usuarios/Modificar
    [HttpPost, ActionName("Modificar")]
    public ActionResult Modificar(ApplicationUser modifiedUser)
    {
        using (ApplicationDbContext db = new ApplicationDbContext())
        {
            var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));

            var applicationUser = userManager.FindById(modifiedUser.Id);

            if (applicationUser != null)
            {
                applicationUser.Apellido = modifiedUser.Apellido;
                applicationUser.Nombre = modifiedUser.Nombre;
                applicationUser.Dni = modifiedUser.Dni;
                applicationUser.Interno = modifiedUser.Interno;
                applicationUser.Email = modifiedUser.Email;
                applicationUser.UserName = modifiedUser.UserName;

                userManager.Update(applicationUser);
            }
        }

        return null;
    }
//Usuarios/Modificar
[HttpPost,ActionName(“Modificar”)]
公共操作结果修改器(应用程序用户修改器)
{
使用(ApplicationDbContext db=new ApplicationDbContext())
{
var userManager=newusermanager(newuserstore(db));
var applicationUser=userManager.FindById(modifiedUser.Id);
if(applicationUser!=null)
{
applicationUser.Apellido=modifiedUser.Apellido;
applicationUser.Nombre=modifiedUser.Nombre;
applicationUser.Dni=modifiedUser.Dni;
applicationUser.Interno=modifiedUser.Interno;
applicationUser.Email=modifiedUser.Email;
applicationUser.UserName=modifiedUser.UserName;
userManager.Update(applicationUser);
}
}
返回null;
}
这是我的观点:

@model Core.Models.ApplicationUser

@using (Ajax.BeginForm("Modificar", "Usuarios", new AjaxOptions(){ HttpMethod = "POST", }))
{
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    @Html.HiddenFor(model => model.Id)

    <div class="col-md-12">
        <div class="box box-default">

            <!-- #region Header del Box -->
            <div class="box-header with-border">
                <h3 class="box-title">Usuario: @Model.UserName</h3>
            </div>
            <!-- #endregion -->

            <!-- #region Cuerpo del box. -->
            <div class="box-body">
                <!-- #region Fila 1. -->
                <div class="row">
                    <!-- Columna 1. -->
                    <div class="col-md-2">
                        <div class="form-group">
                            <i class="fa fa-fw fa-user"></i> <label>Apellido: </label>
                            @Html.EditorFor(model => model.Apellido, new {htmlAttributes = new {@class = "form-control"}})
                            @Html.ValidationMessageFor(model => model.Apellido, "", new {@class = "text-danger"})

                        </div>
                    </div>
                    <!-- /.col -->
                    <!-- Columna 2. -->
                    <div class="col-md-2">
                        <div class="form-group">
                            <i class="fa fa-fw fa-user"></i> <label>Nombre: </label>
                            @Html.EditorFor(model => model.Nombre, new {htmlAttributes = new {@class = "form-control"}})
                            @Html.ValidationMessageFor(model => model.Nombre, "", new {@class = "text-danger"})
                        </div>
                    </div>
                    <!-- /.col -->
                    <!-- Columna 3. -->
                    <div class="col-md-2">
                        <div class="form-group">
                            <i class="fa fa-fw fa-user"></i> <label>Documento: </label>
                            @Html.EditorFor(model => model.Dni, new {htmlAttributes = new {@class = "form-control"}})
                            @Html.ValidationMessageFor(model => model.Dni, "", new {@class = "text-danger"})
                        </div>
                    </div>
                    <!-- /.col -->
                    <!-- Columna 4. -->
                    <div class="col-md-2">
                        <div class="form-group">
                            <i class="fa fa-fw fa-user"></i> <label>Mail: </label>
                            @Html.EditorFor(model => model.Email, new {htmlAttributes = new {@class = "form-control"}})
                            @Html.ValidationMessageFor(model => model.Email, "", new {@class = "text-danger"})
                        </div>
                    </div>
                    <!-- /.col -->
                    <!-- Columna 5. -->
                    <div class="col-md-2">
                        <div class="form-group">
                            <i class="fa fa-fw fa-user"></i> <label>Usuario: </label>
                            @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
                            @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
                        </div>
                    </div>
                    <!-- /.col -->
                </div>
                <!-- #endregion /.row -->

            </div>
            <!-- #endregion /.box-body -->

            <div class="box-footer">
                <div class="row">
                    <div class="col-md-1 pull-right">

                        <input type="submit" name="btnAppUser" id="btnAppUser" class="btn btn-default pull-right" value="Guardar" />
                    </div>
                </div>
            </div>
        </div>    
</div>
}
@model Core.Models.ApplicationUser
@使用(Ajax.BeginForm(“Modificar”、“Usuarios”、新的AjaxOptions(){HttpMethod=“POST”,}))
{
@Html.ValidationSummary(true,“,new{@class=“text danger”})
@Html.HiddenFor(model=>model.Id)
Usuario:@Model.UserName
阿佩利多:
@EditorFor(model=>model.Apellido,new{htmlAttributes=new{@class=“form control”}})
@Html.ValidationMessageFor(model=>model.Apellido,“,new{@class=“text danger”})
名义:
@EditorFor(model=>model.Nombre,new{htmlAttributes=new{@class=“form control”}})
@Html.ValidationMessageFor(model=>model.Nombre,“,new{@class=“text danger”})
文件:
@EditorFor(model=>model.Dni,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.Dni,“,new{@class=“text danger”})
邮寄:
@EditorFor(model=>model.Email,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.Email,“,new{@class=“text danger”})
乌萨里奥:
@EditorFor(model=>model.UserName,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.Email,“,new{@class=“text danger”})
}
但是,在提交之后,当post到达控制器时,applicationUser为空。Ajax表单未发送信息或未绑定到ApplicationUser模型中。有人能帮我理解这里的问题吗


谢谢

您绑定的模型元素需要在ajax表单中。@RyanWilson抱歉,我不明白。你能再解释一下吗?你添加了web.config文件的
应用程序设置和
jquery.unobtrusive ajax.min.js
javascript的引用了吗?@RyanWilson实际上我对代码进行了一些格式化,我认为它们已经在正确的位置了。@ADyson Ok。谢谢你格式化它。我想那不是问题所在。