![](/img/trans.png)
[英]Problem with asp.net + asp:button, HTML And Javascript on register form
[英]Register new users in an asp.net application without a form
我想在asp.net应用程序中注册新用户。 我想使用Ajax而不是使用表单。
这是我的AccountController中的发布函数:
[System.Web.Mvc.HttpPost]
public async Task<bool> Register(UserItem post) {
try {
var user = new ApplicationUser { UserName = post.UserName, Email = post.UserName };
var result = await UserManager.CreateAsync(user, post.Password);
if (result.Succeeded) {
post.Id = user.Id;
await _userRepository.Save(post);
return true;
}
AddErrors(result);
}
catch (Exception e) {
Console.WriteLine(e);
}
// If we got this far, something failed, redisplay form
return false;
}
这是我对控制器的Ajax调用:
var userJson = ko.toJSON(self.selectedUser);
console.log(userJson);
$.ajax({
type: "POST",
url: "http://localhost:7061/Account/Register",
headers: "application/json; charset=UTF-8",
dataType: "json",
contentType: "application/json",
data: userJson,
error: function (xmlHttpRequest, textStatus, errorThrown, response) {
},
success: function (response) {
console.log(response);
self.loadUsers();
}
});
但是我的控制器中的注册功能从未被调用过。
谢谢。
在AccountController
每个操作都需要返回一个ActionResult
对象,如果是异步操作,则需要返回Task<ActionResult>
。 否则,它将不会被视为动作,并且不会将任何请求路由到该动作。
将方法的签名更改为:
public async Task<ActionResult> Register(UserItem post) {
而不是返回true
或false
,而是返回Json(true)
或Json(false)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.