ZDIRY-TUFWT-EBONM-EYJ00-IDBLANTER.COM
ZDIRY-TUFWT-EBONM-EYJ00

BLANTERWISDOM105

Redirect URL Menggunakan AJAX Json ASP NET MVC

6/11/2020

Saat pertama kali anda masuk ke halaman situs yang menggunakan ASP NET dengan url login, lalu kita diharuskan memasukan username dan password untuk melanjutkan ke halaman berikutnya. Jadi anda tidak bisa langsung mengetikan Url untuk halaman berikutnya di Browser karena ada proses Authority untuk keamanan. Jadi hanya user yang terdaftar saja yang dapat masuk.

RedirectURL Menggunakan AJAX JSON ASP NET MVC

Tahukan konsep Redirect URL seperti yang dideskripsikan di atas. Dimana setelah proses login akan redirect url ke halaman lainnya. Di ASP Net ada beberapa cara untuk Redirect URL seperti menggunakan Return RedirectToAction("Index", "Home") pada method ActionResult pada controller. Namun yang akan saya bahas ini adalah memanfaatkan return value oleh AJAX Json jadi akan mengeksikusinya menggunakan windows.location di script.

window.location = https://www......

Adapun Cara Redirect URL menggunakan AJAK Json

Langkah 1

Buat common model untuk menampung value saat proses metode JsonResult di Controller.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace UserLoginSQLCommand.Models.Common
{
    public class AjaxResult : BaseResult
    {
        public string ValueSuccess { get { return VALUE_SUCCESS; } }
        public string ValueError { get { return VALUE_ERROR; } }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace UserLoginSQLCommand.Models.Common
{
    public class BaseResult
    {
        public const string VALUE_SUCCESS = "SUCCESS";
        public const string VALUE_ERROR = "ERROR";

        public string Result { set; get; }
        public string ProcessId { set; get; }
        public string[] SuccMesgs { set; get; }
        public string[] ErrMesgs { set; get; }
        public object[] Params { set; get; }
        public object[] Params2 { set; get; }
        public string RedirectURL { set; get; }
    }
}

Perhatikan public string RedirectURL itulah model yang akan menampung value yang dibutuhkan.

Langkah 2

Buatlah Method JsonResult yang menghasilkan Return Value RedirectUrl seperti di bawah ini,


public JsonResult Login(string EmailId, string Password)
{
    AjaxResult ajaxResult = new AjaxResult();
    IList<string> errMesgs = new List<string>();
    Int32 count;
   
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        string query = "";
        SqlCommand command = new SqlCommand(query, connection);
        count = (Int32)command.ExecuteScalar();
        //count = 
        connection.Close();
    }

    if (count > 0)
    {
        //Another Coding
        ajaxResult.Result = AjaxResult.VALUE_SUCCESS;
        ajaxResult.RedirectURL = "Member"; //<== ISI DENGAN Nama Controller yang dituju
    }
    else
    {
        ajaxResult.Result = ajaxResult.ValueError;
        ajaxResult.ErrMesgs = new string[] { string.Format("{0} = {1}", "Warning", "File extension should be .xls or .xlsx") };
        if (errMesgs.Count > 0)
        {
            ajaxResult.Result = AjaxResult.VALUE_ERROR;
            ajaxResult.ErrMesgs = errMesgs.ToArray();
        }
    }
    return Json(ajaxResult);
}

Langkah 3

Tempatkan Window.Location pada script ajax Post seperti di bawah ini,

function myFunction(){
function Callajaxlogin() {
	var params = new Object();
	params.EmailId = $("#txtusername").val(),
	params.Password = $("#txtpassword").val()
	$.ajax({
	    type: "POST",
	    url: "@Url.Content("~/Login/Login")",
	    contentType: 'application/json',
	    dataType: 'json',
	    traditional: true,
	    data: JSON.stringify(params),
	    success: function (returnResult) {
	        if (returnResult.Result == "SUCCESS") {
	            window.location = returnResult.RedirectURL;
	        }
	        else {
	            $("#pesanerror").html("");
	        }
	       
	    },
	    error: function (data) {
	        //showErrorMesgGrowl('Login failed');
	    }
	});
}

Langkah 4

Sekarang anda bisa langsung mencobanya dengan running project yang anda buat.

Share This :

0 Comments