嘿,我正在尝试设置列表某些部分的可见性,只有当前登录用户是模型中的用户时才会显示。我尝试通过jquery来做到这一点。我的代码:
$(function() {
$(('li.loggedelement').hide());
if (@Model.openID !== @User.Identity.Name) {} else {
$(('li.loggedelement').show());
}
});
我希望函数在加载视图时确定用户是否正在检查自己的配置文件(如果@ Model.openID == User.Identity.Name则为true)然后我想显示一些额外的选项。也许我应该将该类的默认可见性赋予隐藏,然后使用函数进行更改。
EDIT 感谢您的帮助,我将改变Controller中的逻辑,以便对用户更安全。
答案 0 :(得分:0)
这似乎是一个非常糟糕的选择。如果您希望仅在用户使用自己的配置文件时显示某些数据,则应该只在这种情况下呈现html。
您意识到任何访问任何个人资料的用户都可以只检查该页面,并手动设置可见性,以便他可以查看数据。
如果您希望不显示数据,请使用服务器不生成页面的特定部分,而不是使用客户端代码隐藏它。这不安全。
答案 1 :(得分:0)
这可能会对你有帮助。
$(function() {
if (@Model.openID != @User.Identity.Name) {
$('li.loggedelement').hide();
}
else {
$('li.loggedelement').show();
}
});