Я столкнулся с проблемой при перенаправлении моего angular js контроллера на c# контроллер. Ниже приведен код моего скриптового контроллера и c# код контроллера - PullRequest
0 голосов
/ 19 февраля 2020

Уважаемое сообщество! Я столкнулся с проблемой при перенаправлении моего angular js контроллера на c# контроллер. Ниже приведен код моего скриптового контроллера и c# код контроллера. Я делаю какие-либо ошибки в URL или есть любая маршрутизация, необходимая для переноса моего angular контроллера на c# контроллер. Когда контроллер срабатывает, он мгновенно вызывает обратный вызов ошибки с предупреждением об ошибке. Пожалуйста, предоставьте мне решение.

angular код контроллера:

var httpTimeout = 1800000;
var httpTimeoutSearch = 3600000;
angular.module('MyApp', [])
var app = angular.module('myApp', []);
app.controller('LoginController', ['$scope', '$rootScope', '$http', function ($scope, $rootScope, $http) {
    $scope.username = "";
    $scope.password = "";
    $scope.Login = function () {
        if ($scope.username != null && $scope.username != "") {
            if ($scope.password != null && $scope.password != "") {
                try {
                    $http({
                        method: 'POST',
                        url: '/Account/Maxi',
                        data: { Username: $scope.username, Passord: $scope.password },
                        timeout: httpTimeout,
                    }).then(function successCallback(response) {
                        alert("sucess");
                    }, function errorCallback(response) {
                        alert("error");
                    });
                }
                catch (ex)
                { alert(ex); }
            }
        }

    }
}]);

My C# Код контроллера:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Maxi(LoginModel data, string returnUrl)
{
    string strReturn = "";
    string ConStr = "";
    string Code = "";
    if (data.UserName != null)
   {
       if (data.Password != null)
       {


           DataSet ds = new DataSet();
           SqlParameter[] parameters =
            {  

             new SqlParameter( "@name", SqlDbType.VarChar, 20) { Value = data.UserName } ,
             new SqlParameter("@Roll_No", SqlDbType.Int) { Value = data.Password  } ,



            };
           ConStr = "Data Source=" + "192.168.1.9" + ";Initial Catalog=" + "MyFistDataBase" + ";User id=" + "sa" + ";Password=" + "123" + ";";
           using (SqlConnection con = new SqlConnection(ConStr))
           {
               using (SqlCommand cmd = new SqlCommand("Maxi", con))
               {
                   cmd.CommandType = CommandType.StoredProcedure;
                   SqlDataAdapter da = new SqlDataAdapter();
                   cmd.Parameters.AddRange(parameters);
                   da.SelectCommand = cmd;
                   da.Fill(ds);
               }
           }

           string errmsg = "";

           if (errmsg != "")
           {
               Code = "0"; strReturn = errmsg;
           }
           else
           {
               if (ds.Tables.Count > 0)
               {
                   if (ds.Tables[0].Rows.Count > 0)
                   {
                       Code = "1";

                       foreach (DataRow dr in ds.Tables[0].Rows)
                       {
                           strReturn += dr[0].ToString();
                       }
                       if (strReturn == "1")
                       {
                           Console.Write("Updated");
                       }

                   }
                   //TripDT = TripDT.ToShortDateString();
               }

           } 
       } 
   }
    return View(data);
}

1 Ответ

1 голос
/ 19 февраля 2020

сначала это сначала вы должны исправить свои орфографические ошибки в коде, который является БОЛЬШОЙ ошибкой в ​​программировании. Попробуйте этот тип данных C# класс как этот

 public class EmployeeInfo
    {
       [Key]
        public int EmpNo { get; set; }
        public string EmpName { get; set; }
        public decimal Salary { get; set; }
    }

js объект как этот

 var Employee = {
            EmpNo: $scope.EmpNo,
            EmpName: $scope.EmpName,
            Salary: $scope.Salary,
        };

http часть изменения как это

 $http({
            method: "post",
            url: "/Account/Maxi",
            data: Employee
        }).then(function successCallback(response) {
                        alert("sucess");
            }, function errorCallback(response) {
                        alert("error");
            });

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Maxi(EmployeeInfo emp)
{
     your code here
}

надежда это поможет вам

...