SignlaR は、クライアントから送信された json オブジェクトを c# オブジェクトに自動的にマップしますか? もしそうなら、私はここで何が間違っているのでしょうか?
C# オブジェクト
public class ChatHub :Hub
{
public void broadcastMessage(CommentModel model)
{
string test = model.Comment;
// Clients.All.writeMessage(jsonString);
}
public class CommentModel
{
[Required]
public string Name { get; set; }
[Required]
public string Comment { get; set; }
[Required]
public string EmailAddress { get; set; }
}
}
JavaScript
$(document).ready(function () {
var chat = $.connection.chatHub;
chat.client.writeMessage = function (t) {
var name = t.Name;
var email = t.Email;
var id = t.id;
var text = name + " " + email + " " + id + " ";
$("#test").append(text);
}
$("form").submit(function (e) {
var jsonObject = JSON.stringify($(this).serializeObject());
chat.server.broadcastMessage(jsonObject);
e.preventDefault();
});
$.connection.hub.start();
});
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};