我的某些字段已填满我的控制器。
public string AjaxLogin()
{
//some code to check admin or not
Session["UserName"] = "Smith";
if(type="Admin")
{
Session["UserRole"] = 1;
}
Session["EmployeeID"] = 101;
}
我对此控制器进行了ajax调用,如下所示,如果成功,我需要在成功中访问这些会话变量以检查用户角色。
$.ajax(
{
url: GLOBAL.GetAppPath() + 'Home/AjaxLogin',
data: data,
type: 'POST',
error: function (xhr, status, error) {
console.log(error);
},
success: function (result, status, xhr) {
if (result == 'OK')
{
var UserVal = '@Session["UserRole"]';
alert(UserVal);
if(UserVal ==1)
{
var baseUrl ="@Url.Action("Admin","AdminPage")";
window.location.href = baseUrl;
}
else
{
var baseUrl ="@Url.Action("Admin","RegularPage")";
window.location.href = baseUrl;
}
}
else {
$('#msgError').html('Error: ' + result);
$('#msgError').css('display', 'block');
}
},
});
但是我无法在此调用中访问此变量。我想检查用户角色变量并相应地给出url操作。
答案 0 :(得分:0)
如果你想重定向到你项目中的控制器,你可以使用 Url helper 示例:
return JavaScript( "window.location = '" + Url.Action("Edit","Dispatch") + "'" );
P.S:我无法评论,因为它要求 50 点声望,这就是我在这里评论的原因。