Как перенаправить страницу страницы входа на страницу индекса на стороне сервера c#? - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в разработке веб-приложений или веб-сайтов. В настоящее время я работаю на странице входа в систему, и я хочу перенаправить страницу входа в систему на индексную страницу. Я использую c# на стороне сервера, я хочу передать после проверки учетных данных пользователя в БД. Я пробовал Response.Redirect и Server.Transfer, но это не работает. Это всегда возвращает эту ошибку на консоли Chrome Failed to load resource: the server responded with a status of 401 (Unauthorized), и когда я нажимаю на нее, это то, что внутри.

System.InvalidOperationException: Parameter: users not found.
   場所 System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
   場所 System.Web.Services.Protocols.UrlParameterReader.Read(HttpRequest request)
   場所 System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
   場所 System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

Это мой код на C#.

 [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public void LogMeIn(string users, string pass) {

        try
        {
            string stmt = "SELECT COUNT(*) FROM tbllogin WHERE userName = @user AND passWord = @pass";
            int count = 0;

            using (MySqlConnection thisConnection = new MySqlConnection(connectionString()))
            {
                using (MySqlCommand cmdCount = new MySqlCommand(stmt, thisConnection))
                {
                    cmdCount.Parameters.AddWithValue("@user", users);
                    cmdCount.Parameters.AddWithValue("@pass", pass);
                    thisConnection.Open();
                    count = Convert.ToInt32(cmdCount.ExecuteScalar());
                    if (count > 0)
                    {
                        HttpContext.Current.Response.Redirect("~/default/index.htm", false);                    
                    }
                }
            }
        }
        catch (ThreadAbortException tEx)
        {
            Console.WriteLine(tEx.Message);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

И это на Javascript.

function LoginMeIn(username, password) {
    //var xdata = "{'users':'" + username.toString()
    //          + "','pass':'" + password.toString()
    //          + "'}";
    var xdata = { "users": username.toString(), "pass": password.toString() };
    console.log(xdata);
    $.ajax({
        type: "POST",
        url: '../WebService/userLogin.asmx/LogMeIn',
        data: JSON.stringify(xdata),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {

        },
        error: function (e) {
           // $("#divResult").html("Something Wrong.");
        }
    });
}

Любая помощь будет высоко ценится. Заранее спасибо и С уважением.

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете использовать

   return RedirectToAction("ActionName","ControllerName",Action Parameters)

Вы можете посмотреть документацию здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...