ASP.NET 防止用户跳过登陆界面
1.在登陆页面的检查登陆成功代码后添加如下代码
Session["UserID"] = txtUserID.Text.Trim();
或者
Session["UserID"] = "OK";
例如,在我的 Login.aspx.cs 的登陆按钮响应事件中代码如下:
if (BaseClass.CheckUser(txtUserID.Text.Trim(), txtPwd.Text.Trim()))
{
Session["UserID"] = txtUserID.Text.Trim();
Response.Redirect("Main.aspx");
}
else
{
Response.Write("<script>alert('用户名或密码错误');location='Login.aspx'</script>");
}
2.然后在每个页面的Page_Load的开始处添加如下代码:
if (Session["UserID"] == null || Session["UserID"].ToString() == "")
{
Response.Write("<Script language='javascript'>window.top.location.href='Login.aspx';</Script>");
}
例如在我的 Main.aspx.cs 的Page_Load代码包含如下内容:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserID"] == null || Session["UserID"].ToString() == "")
{
Response.Write("<Script language='javascript'>window.top.location.href='Login.aspx';</Script>");
}
if (!IsPostBack)
{
}
}
3.试试看,呵呵 ,,,
相关推荐
-
在ASP.NET 2.0中操作数据之二十:定制数据修改界面
简介 GridView和DetailsView控件通过绑定列和CheckBox列,可以简化数据编辑界面制作,呈现只读,编辑和新增界面,我们不需要增加元素标记或编写任何额外代码就可以得到这些界面.然而,绑定列和CheckBox列呈现的界面却缺乏实际应用中经常用到的定制功能.为了对GridView和DetailsView的编辑.新增界面进行定制,需要用模板列(TemplateField)替换原有列. 在上节教程中我们讨论如何增加验证控件来定制数据编辑界面,而本节教程将演示如何使用Web控件对实际的数
-
在ASP.NET 2.0中操作数据之十八:在ASP.NET页面中处理BLL/DAL层的异常
导言 在一个使用了分层体系架构的ASP.NET web应用系统里处理数据,一般遵循以下几步: 1.确定业务逻辑层需要调用哪个方法,并且需要出入哪些参数.这些参数可以通过硬编码设置,程序自动设定,或者由用户输入. 2.调用此方法. 3.处理结果.当调用一个返回数据的BLL方法时,这包括绑定数据到Data Web服务器控件.而对于修改数据的BLL方法而言,这包括基于返回值的基础上执行某些动作,或者适当地处理在第二步中引发的异常. 正如我们在前一节里看到的,无论ObjectDataSource控件还是
-
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
如图: 上图的右边框不见了,使用 web开发工具调试,发现是内容器过大.于是想到了是jquery-easyui 对界面的"渲染"不正确引起. 起初以为是因为加了 处理重复的代码引起,但是去掉后总是依旧: 进而考虑到界面"渲染"的前后关系,于是尝试对代码片段进行延迟执行,问题解决.原问题脚本: 复制代码 代码如下: <script type="text/javascript"> if (window.__yltlClientScriptRegistKey == undefin
-
在ASP.NET 2.0中操作数据之十六:概述插入、更新和删除数据
导言 结束前面的几节,我们已经探讨过了如何使用GridView.DetailsView和FormView控件来显示数据.这些控件简单地操作提供给它的数据.一般地,这些控件通过使用一个数据源控件,例如ObjectDataSource来存取数据.我们已经看过了ObjectDataSource是如何在ASP.NET页面和潜在的数据之间扮演一个代理的角色.当一个GridView需要显示数据时,它调用ObjectDataSource的Select()方法,这个方法转而调用一个来自我们的业务逻辑层(BLL)
-
asp.net通过动态加载不同CSS实现多界面
方法一: 复制代码 代码如下: <%@page language="C#"%> <%@import namespace="System.Data"%> <script language="c#" runat="server"> public void page_load(Object obj,EventArgs e) { //创建服务器端控件. //指定的标记"LINK&q
-
ASP.Net中利用CSS实现多界面的两种方法
本文实例讲述了ASP.Net中利用CSS实现多界面的两种方法.分享给大家供大家参考.具体实现方法如下: 可以通过使页面动态加载不同CSS来实现多界面的效果: 方法一: 复制代码 代码如下: <%@page language="C#"%> <%@import namespace="System.Data"%> <script language="c#" runat="server"> publ
-
在ASP.NET 2.0中操作数据之十五:在GridView的页脚中显示统计信息
导言 除了需要了解产品的单价.库存量和订货量,并按等级排序之外,用户可能还对统计信息感兴趣,比如说平均价格.库存总量等等.这些统计信息常常显示在报表最下面的一个统计行中.GridView控件可以含有一个页脚行,我们可以通过编程将统计数据插入到它的单元格里面去.这个任务给了我们以下3个挑战: 1.配置GridView以显示它的页脚行 2.确定统计数据.即我们应该如何计算平均价格还有库存总量? 3.将统计信息插入到页脚行的相应的单元格中 在本节教程中,我们将会看到如何去征服这些挑战.另外呢,我们将创
-
ASP.NET简化编辑界面解决思路及实现代码
简化用户操作界面,添加功能一般没法简化,但是如果是在GridView做显示,编辑,更新与删除,会让用户在编辑,需要点击编辑铵钮,再进行编辑,或是取消编辑. 为了解决这个问题,Insus.NET想到一些改进的方法.可以参考下面演示: 以下内容于2011-11-07 9:20添加: 上面实现,只是使用Table加上GridView来组合. 其中,Gridveiw直接使用ItemTemplate模版,省略了EditItemTemplate模版.事件也省略了OnRowEditing与OnRowCance
-
ASP.NET简化编辑界面解决思路及实现代码(2)
程序是需要不断改进,上午做了,下午再去看时,会觉它不够完美. 比如这个:http://www.jb51.net/article/33563.htm现在Insus.NET把它改为下面这个样子: 这篇与前一篇改进部分,也许大家会留意到动画演示,主要是GridVeiw的更新与删除会在每row都有.因此Insus.NET把它抽取出来,放在GridView外.致于一次性更新多笔记录,Insus.NET在很早之前已经录制过视频下载地址.还有一个就是删除,在每row第一列放了一个CheckBox,让用户可以选
-
在ASP.NET 2.0中操作数据之十七:研究插入、更新和删除的关联事件
导言 当使用GridView.DetailsView或FormView控件的内建插入.编辑或删除特征时,在用户添加一条新记录或更新/删除一条现在记录的过程中发生了多个步骤.正如我们之前一节里所讨论的,在GridView中编辑一行时,保存(Update)和取消(Cancel)按钮将取代编辑(Edit)按钮,并且绑定列转换成TextBox.在用户更新了数据并点击保存按钮之后,下述步骤在回传时执行: 1.该GridView控件根据当前编辑行的唯一标识字段(通过DataKeyNames属性)组装它的Ob
-
在ASP.NET 2.0中操作数据之十九:给编辑和新增界面增加验证控件
导言 在前面三节的示例中,GridView和DetailsView控件使用的是绑定列和CheckBoxField(绑定GridView和DetailsView时,通过智能标记可以令VS根据数据库自动增加对应的类型).当编辑GridView或者DetailsView中的一行时,非只读属性的绑定列将自动转为textbox,以便用户修改现有的数据.同样地,当在DetailsView控件中新增记录时,InsertVisible属性为true(默认值)的绑定列会呈现出空的textbox,以接受用户输入.C
随机推荐
- angularjs的一些优化小技巧
- python装饰器实例大详解
- 浅谈Java工程读取resources中资源文件路径的问题
- Logger.getLogger()与LogFactory.getLog()的区别详解
- 用JavaScrpt实现文件夹简单轻松加密的实现方法图文
- 基于匀速运动的实例讲解(侧边栏,淡入淡出)
- JS或jQuery获取ASP.NET服务器控件ID的方法
- Visual Studio 2013更新内容简介
- asp.net得到本地电脑基本信息的简单方法
- php实现的美国50个州选择列表实例
- 用PHP和ACCESS写聊天室(四)
- PHP使用PDO连接ACCESS数据库
- 详解Python中DOM方法的动态性
- 小论asp中request与response的用法
- Bootstrap table使用方法总结
- ThinkPHP路由机制简介
- Python删除指定目录下过期文件的2个脚本分享
- ajax实现session不过期(避免页面过期的现象)
- 在Ruby中创建和使用哈希的教程
- Ruby中的集合编写指南