【发布时间】:2018-06-01 16:54:12
【问题描述】:
我的控制器中填写了某些字段。
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 操作。
【问题讨论】:
-
为什么不把Ajax成功码放在控制器上,然后相应地返回url?
-
@carlosfcmendes : 你能告诉我怎么做吗?
标签: javascript ajax asp.net-mvc asp.net-ajax