点击一个超链接时怎么进行数据验证
有一个用户管理超链接,只有管理员才能点此超链接。这个界面所有人都能进来,
用户名存在Session里面了,。。想让非管理员用户点此按钮显示“只有管理员才能进入”,
管理员用户才能进入、、
怎么实现。。?
[最优解释]
当然别忘记了,在Page_Prerender中调用这个LinkButton的DataBind()方法,或者调用页面的DataBind()方法。
一言以蔽之,就是把你要隐藏的asp.net控件的Visible属性与数据绑定,让控件它自己自动去隐藏(也就是说不向浏览器端输出html代码中加入自身),浏览器端这就看不到它了。
不过对于asp.net程序来说,不管你在前端界面上是否显示了“导航到管理员页面”按钮,你的管理员页面也必须再次调用这个 CheckIsAdmin 方法来验证一次。因为极其容易伪造。而且很多时候因为浏览器缓存等问题也会让没有权限的用户访问到管理员页面。
[其他解释]
你也可以像csdn这样,跳到相应的页面之后再判断有没有相关权限
在目标页面的后台判断就ok了
[其他解释]
在在控件的显示与隐藏属性那里用三元表达式判断就行了。
[其他解释]
后台判断也行,if(管理员) 超链 的状态给他一个隐藏
[其他解释]
可以怎么写
如果你的 那个连接是个服务器控件的额 可以再后台直接操作
private void link_click(object sender,EventArgs e)
{
if(session("roleID"==null))
{
alert(“该连接只有管理员可进入”);
}
}
<asp:LinkButton runat="server" Visible='<%# CheckIsAdmin() %>' ....然后你在代码中写一个方法来返回“是否是管理员”,例如
protected bool CheckIsAdmin()
{
var s = (string)Session["userId"];
if(s==null)
return false;
else
return 查询数据库判断是否是管理员ID(s);
}