我有一个包含按钮的div。我最初设置div显示:none&取决于我使用javascript向用户显示的用户权限。
<div id="mydiv" style="display:none">
<asp:Button id="btn" runat="server"/>
</div>
PageMethods.GetRights(onsuccess);
function onsuccess(result){
if(result.isaccessible)
{
$("#mydiv").show();
}
}
显示,隐藏客户风险。我不想使用updatepanel,如果它有风险,我有什么替代品呢?
答案 0 :(得分:1)
当用户点击butotn并将请求发布到您的服务器时,您需要重新检查用户是否可以访问此功能..
处理此问题的一种更简单的方法是向正文添加一个类
< body class="logged_in" >
如果他们已登录..
然后css规则
#mydiv { display: none; }
.logged_in #mydiv { display: block; }
答案 1 :(得分:1)
如果用html检查器将显示更改为“阻止”,任何人都可以查看此div。 如果您希望此信息保持私密性,我建议采用不同的方式。
第一种也是最好的方法是跳过JavaScript并使用服务器检查用户的权限并显示div。
第二种方法是进行Ajax调用。如果您希望使用JavaScript,那么我建议您使用ajax调用服务器以获取所需信息。让服务器检查用户权限并在成功时返回div。然后只需将div的html替换为从服务器返回的html。这样的事情可能有用:
var getHiddenDiv = function(){
$.ajax({
url: yourUrl,
type: GET,
success: function(data){
$("#mydiv").html(data);
}
});
};
答案 2 :(得分:0)
这一切都取决于我们的应用程序结构。如果隐藏div中的数据保密,则决不会将其显示为无安全方法,因为客户端可以完全访问所有客户端数据。但是当谈到调用后端行为的按钮时,您还应该对所有请求进行后端验证。