Reputation: 3
Im trying to create simple form, which will pass variables to C# method, which then will add whem to database.
public static bool Add(string username, string password, string email, string ip)
{
User newUser = new User { id = HomeController.db.Users.Count() + 1, createdOn = DateTime.Now, email = email, ipAddress = ip, isDeleted = false, password = password, username = username, info = new AdditionalInfo(), notices = new List<Notice>() };
newUser.address.user = newUser;
if (!HomeController.db.Users.ToArray().Contains(newUser, new EqualByData()))
{
HomeController.db.Users.Add(newUser);
HomeController.db.SaveChanges();
}
else return false;
return true;
}
This method is in C:\NTPortal\NTportal\NTportal\Controllers
When I tried to call it in angularjs Controller:
if (!$scope.email_bad && !$scope.pass_bad && !$scope.pass_not_match) {
console.log('no errors')
var Add = function (username, password, email, ip) {
var config = {
params: {
username: username,
password: password,
email: email,
ip: ip
}
}
$http.get('../../Controllers/UserController/Add', config)
.success(function (data) {
if (data) {
alert('Vartotojas priregistruotas');
}
})
.error(function (error) {
alert('Ivyko klaida');
})
}
Add($scope.username, $scope.password, $scope.email, ipAddress);
}
Angular is in C:\NTPortal\NTportal\NTportal\Views\Home
An error I get, is GET http://localhost:2016/Controllers/UserController.cs/Add?email=f@&password=bandymas1&username=f 404 (Not Found)
Any help would be appreciated
Upvotes: 0
Views: 4215
Reputation: 1
I think you should add [HttpGet] or [HttpPost] Method Attribute above Add function like:
[HttpGet]
public static bool Add(..)
{
//...
}
Upvotes: 0
Reputation: 2867
Try this, you have to put the url to your action:
$http.get('http://localhost:12345/User/Add', config)
Instead of http://localhost:12345, put your url.
Upvotes: 1