【问题标题】:SignalR error converting valueSignalR 错误转换值
【发布时间】:2016-11-08 00:49:34
【问题描述】:

第一次使用 SignalR,我遇到了一些问题。我要做的是在用户向系统添加新用户后异步更新我的 jTable。问题是,每次我尝试提交时,都会遇到以下错误。我不确定问题出在哪里,因为填充我的 CreateUserModel 所需的所有数据都已传递。关于我做错了什么有什么想法吗?

错误

{"I":"0","E":"Error converting value \"UserId=19&FirstName=123&LastName=123&UserName=123&Role=Admin&Password=123123&ConfirmPassword=123123&EmailAddress=fakeEmail%40gmail.com&PhoneNumber=123\" to type 'MyProject.Models.CreateUserModel'.

我要转换的模型

public class CreateUserModel {
  public int UserId { get; set; }

  public string UserName { get; set; }

  public string Password { get; set; }

  public string ConfirmPassword { get; set; }

  public string FirstName { get; set; }

  public string LastName { get; set; }

  public string EmailAddress { get; set; }

  public string PhoneNumber { get; set; }

  public string Role { get; set; }
  public IEnumerable<SelectListItem> RolesItem {
     get { return new SelectList(UserUtils.getAllRoles()); }
  }
}

集线器

public class JTableHub : Hub {
  public void UpdateUserTable(CreateUserModel userModel) {
     Clients.All.updateTable(userModel);
  }
}

signalR 代码

<script type="text/javascript">
$(document).ready(function () {
    var chat = $.connection.jTableHub;
    chat.client.updateTable = function (userModel) {
        $('#usersTable').jtable('addRecord', {
            record: userModel,
            clientOnly: true
        });
    };

    $.connection.hub.start().done(function () {
        $('#btnAdd').click(function () {
           var data = $('#addUserForm').serialize();
           chat.server.updateUserTable(data);
         });
    });


});
</script>

【问题讨论】:

    标签: jquery asp.net-mvc signalr jquery-jtable


    【解决方案1】:

    .serialize 不能用于发送表单 url 编码数据。 SignalR 仅支持 JSON。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    相关资源
    最近更新 更多