【发布时间】:2015-03-15 09:01:18
【问题描述】:
我将我的可观察数据从 js 发布到服务器端。但是我从萤火虫那里得到了这个错误信息。
“POST http://localhost:54964/Administration/User/CreateUser”404 未找到
UserModel.js(我的淘汰赛)
return function () {
var self = this;
self.email = ko.observable("");
self.password = ko.observable("");
self.createUser = function () {
console.log("hey");
webRequest.postJSON("/Administration/User/CreateUser", ko.toJSON(self), self.saveSucceeded);
}
self.saveSucceeded = function (result) {
utils.showSuccess("OK..");
window.location.href = "http://" + window.location.host + "/#/Administration/AllUsers";
}
}
我在其中有 UserController.cs 和 CreateUser 操作。但是我得到了这个错误。找不到我的操作方法。
通过视图模型发送的 observables
AddUserModel.cs
public class AddUserModel
{
[Required(ErrorMessage = "Eposta alanı boş olamaz.")]
[RegularExpression(@"^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$", ErrorMessage = "Geçerli bir e-posta adresi giriniz")]
public string Email { get; set; }
[Required(ErrorMessage = "Şifre alanı boş olamaz.")]
public string Password { get; set; }
}
以及在控制器中创建用户的方法。
UserController.cs
[HttpPost]
public ActionResult CreateUser(AddUserModel model)
{
MembershipCreateStatus status;
Membership.CreateUser(model.Email, model.Password, model.Email, null, null, true, out status);
if (status == MembershipCreateStatus.Success)
{
return Json(true);
}
else
{
return new Json(false);
}
}
注意:管理是一个“文件夹”。我将其更改为“区域”以进行区域注册。因此我删除了管理“文件夹”,然后添加了管理“区域”。这可能是一个原因。我不知道。
错误消息= 路径“/Administration/User/CreateUser”的控制器未找到或未实现 IController。
为什么找不到控制器或动作?
【问题讨论】:
-
我们应该怎么知道?我们无权访问您的代码(提示:首先发布您的 MVC 路由)。
-
不需要发布我的路线,我只想说,在我将管理“文件夹”转换为管理“区域”之前,我的程序运行良好。在我这样做之后,它没有工作。正如我提到的我的帖子。
-
您认为客户端代码在向您的 MVC 应用程序发出 POST 请求之前和之后所做的事情的无关细节对于解决未命中操作的问题比您的路由更重要吗?难怪你的代码不起作用;)
标签: javascript c# asp.net-mvc knockout.js