加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用jquery进行模型绑定ajax序列化不起作用

发布时间:2020-12-15 22:31:09 所属栏目:asp.Net 来源:网络整理
导读:我有以下型号: public class RegisterUseraccount{ [Required] [DataType(DataType.EmailAddress)] [Display(Name = "E-Mail-Adresse")] public string Email { get; set; } [Required] [Display(Name = "Vorname")] public string FirstName { get; set; }
我有以下型号:
public class RegisterUseraccount
{
    [Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "E-Mail-Adresse")]
    public string Email { get; set; }

    [Required]
    [Display(Name = "Vorname")]
    public string FirstName { get; set; }

    [Required]
    [Display(Name = "Nachname")]
    public string LastName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [MinLength(5)]
    [Display(Name = "Passwort")]
    public string Password { get; set; }

    ...
}

以下观点:

@using (Html.BeginForm("Register","Useraccount",FormMethod.Post,new { id = "registerUseraccountForm",@class = "ym-form" }))
{
    @Html.ValidationSummary(true)        

    <div class="ym-grid">
        <div class="ym-g50 ym-gl">
            <div class="ym-fbox-text">
                @Html.LabelForRequired(model => model.RegisterUseraccount.FirstName,null)               
                @Html.EditorFor(model => model.RegisterUseraccount.FirstName,new { required = "required",name = "firstName" })
                @Html.ValidationMessageFor(model => model.RegisterUseraccount.FirstName)                  
            </div>
        </div>
    ...

和我的JavaScript

function sendForm(target) {
    alert(data);
    $.ajax({
        url: target,type: "POST",contentType: 'application/json',data: $("#registerUseraccountForm").serialize(),success: ajaxOnSuccess,error: function (jqXHR,exception) {
            alert('Error message.');
        }
    });

这是序列化的结果:

RegisterUseraccount.FirstName=Peter&RegisterUseraccount.LastName=Miller&RegisterUseraccount.Email=miller%40gmail.com&RegisterUseraccount.Password=admin

这是我试图POST到的控制器方法:

[HttpPost]
public ActionResult Register(RegisterUseraccount registerUseraccount)
{
    ...
}

…但是数据没有到达方法,我收到错误404.我认为模型绑定器无法工作.

什么有效是以名称firstName = Peter发送的数据,但实际发送的是RegisterUseraccount.FirstName = Peter.

我该如何处理这个问题?

解决方法

删除contentType:’application / json’,并将其修改为更好(从我的角度来看)
$('#registerUseraccountForm').submit(function () {
    if ($(this).valid()) {
        $.ajax({
            url: this.action,type: this.method,data: $(this).serialize(),beforeSend: function () {

            },complete: function () {

            },...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读