第六章 管理员登陆页的制作


  来源:网络搜集 | 作者:不详 | 浏览: | 发送给好友 | 添加到收藏夹

    第六章    管理员登陆页的制作           admin_loing.aspx管理员登陆页

    操作步骤:

    1、首先打首页index.aspx文件,在合当的地方添加一个链接到本页的文字或图片链接。

    2、创建并打开一个新admin_loing.aspx,插入表单,切换到代码视图,给表单添加runat="server"属性:

    <form id="form1" method="POST" runat="server" > </form>

    3、在表单内按以下截图页面样式插入表格和文本域:

    用户名和密码文本域代码清单:

    用户名:<input name="AdminName" type="text" id="AdminName" runat="server" >密    码:<input name="AdminPws" type="text" id="AdminPws" runat="server" >登陆按扭:<asp:button ID="Button1" runat="server" Text="登陆" OnClick="sub_ling" />

    上面代码不外乎是普通的HTML标签加上runat="server" 属性,使其成为HTML服务器控件;登陆按扭用的是Button控件,因为要用到它来触发事件。

    3、切换到代码视图,把ResponseEncoding="gb2312"删除掉。否则数据集就不能筛出结果了。

    4、插入数据集

    因为DW MX的ASP.NET服务器行为中没有登陆用户行为,我们只能用数据集和手工改写一些代码来实现这个功能了。不用担心,代码不多。

    启动数据集,设置如下:

    点击“高级……”按扭,切换到高级数据集模式。我们看到了由DW MX生成的部分SQL语句:

    这是不够的,我们还必须添加多一个条件,即密码字段。只有用户名和密码条件都匹配时,才能让数据集筛出结果。

   点击参数“+”,弹出“编辑参数”对话框,填写名称为“@AdminPws”,类型选择“WChar”,如下图:

    单击“建立”弹出“生成值”对话框,名称为AdminPws,源选择“表单变量”,默认值为“0”。如下图:

    单击“确定”保存设置,一直回到主数据集对话框。修改SQL语句,修改结果如下图所示:

    好了,单击“确定”保存工作成果。

    5、切换到数据“绑定”面板,把“用户名”AdminName字段绑定于页面,插入页面任何地方均可,因为我们只用它来检查数据集是否筛出记录,然后判断该字段动态变量是否为空,不为空的话就赋值给session并同时转向index.aspx页。

    切换到代码视图,找到刚才绑定的字段,如下:

    <%# DataSet1.FieldValue("AdminName", Container) %>

把它改成调用StrAdmin自定义函数:

    <%#StrAdmin(DataSet1.FieldValue("AdminName", Container)) %>

当管理员输错用户名或密码,登陆不成功,给出错误提示信息,用Label控件实现:

    <asp:label ID="Label1" runat="server" Text="对不起!用户名或密码错误!"></asp:label>

该控件可以放在表单内的任何位置。

    在页的<HTML>标签上面添加页面加载时触发事件和响应登陆按扭的事件代码,以及判断数据集字段值是否为空的函数:

    <script runat="server"> function StrAdmin(ParName as string) as string''''自定义一个名为“StrAdmin”的函数if ParName<>nothing then''''当动态变量不为空时session("MM_Username")=ParName''''把管理员用户名赋值给session变量response.Redirect("index.aspx")''''登陆成功后转到留言本首页end if end function Sub Page_Load(Src As Object, E As EventArgs) Label1.Visible="False"''''初始化Label控件不显示End Sub Sub sub_ling(Src As Object, E As EventArgs) Label1.Visible="True"''''单击按扭触发该事件,显出错信息,但是当管理员登陆成功后''''已由response.Redirect("index.aspx")转向首页End Sub </script>

然后打开数据库表admin,添加管理员用户名和密码:

    当然,你可以添加多个管理员。有关于留言本的管理员用户名和密码修改的页面本教程不再介绍,不外乎是简单的插入、更新操作,看到后面几章后你就会自己动手做一个这样的页面了。

    测试一下,用户登陆成功后就转到index.aspx,否则给出错信息。

    下面来进一步完善页面,当管理员登陆成功后,不可以再进行登陆了,所以必须把整个登陆表单元素隐藏起来。这个功能用Panel控件来实现。

    选中表格,如下图:

    切换到源代码视图,表可标签被选中,在其上下各添加:

    <asp:Panel id="Panel1" runat="server" > 刚才选中的表格标签及服务器控件代码……
    </asp:Panel>
   

除了隐藏表格,还应该给出提示信息,提示管理员他已经登陆,用Label控件显示:

    <asp:label ID="Label2" runat="server" Text="你已经登陆了!<a href=''''index.aspx''''>请返回首页</a>"></asp:label>

此控件可以放在表单内任何地方。

    在Page_Load方法块内初始化Panel和Label控件是否呈现出来:

    if not session("MM_Username") is nothing''''当session变量不为空时Panel1.Visible="False"''''控件被隐藏Label2.Visible="true"''''初始化Label控件不显示else Label2.Visible="false"''''未登陆Labe2控件不显示End if

添加在Sub Page_Load(Src As Object, E As EventArgs)这句代码的下面,如下(加粗部分):

    Sub Page_Load(Src As Object, E As EventArgs) if not session("MM_Username") is nothing''''当session变量不为空时Panel1.Visible="False"''''控件被隐藏Label2.Visible="true"''''初始化Label控件不显示else Label2.Visible="false"''''未登陆Labe2控件不显示End if Label1.Visible="False"''''页面加载时初始化Labe1控件不显示End Sub

管理员登陆页已经制作完毕。

    由于考虑DW MX数据集的方便性,所以我没有采用手写代码,同时也易于初学者操作。实际上本页面仍然存在执行效率的问题,因为页面被请求即执行数据集查询命令,这是须要时间的。比较好的方法是应该在按下“登陆”按扭后才执行记录查询。好在这不是论坛,管理员也不是经常登陆吧,所以这里就不再深入地介绍手写方法了。

上一篇
闪动论坛 打印此页 发送给好友 返回顶部