关于
图片出不来,请点击下面链接:
关于1.1.4 Default.aspx页面的实现的说明.rar
n 1.登录部分,用到控件:LoginView, LoginName 以及Login在母板结页MasterPage.master左边加入一个LoginView控件,在其AnonymousTemplate视图中加入一个Login控件,并做一个注册的超连接<a href="register.aspx">免费注册</a>;
转换到LoggedInTemplate视图,写上“欢迎你,”,并加入一个LoginName控件:
设置以后的代码如下:
<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
<asp:LoginName ID="LoginName1" runat="server" />
</LoggedInTemplate>
<AnonymousTemplate>
<asp:Login ID="Login1" runat="server"> </asp:Login>
或者<a href="register.aspx">免费注册</a>
</AnonymousTemplate>
</asp:LoginView>
2.随机相片的显示
首页中随机相片的显示,要实现的功能与在photos.aspx文件中的差不多,不单是显示图片,还要实现到details.aspx文件的链接。也就是说超链接是要传递两个参数:AlbumID和Page.这里,就要实现产生随机的AlbumID和Page,并且传给SqlDataSource。
开始想用直接设置SqlDataSource中相应属性的方法来传递随机数,但试了多次,都无法实现。最后还是用原来的方法传递参数值。实现方法说明如下:
(1) 播放一个TextBox控件MasterPage.master,并设置其为隐藏(Visible="False");拖放一个SqlDataSource 控件到MasterPage.master中,其设置如课本
(2) 在MasterPage.master左边加入一个FormView用于显示图片,设置其DataSource为上面的SqlDataSource,删除多余的字段显示,并在ItemTemplate加入显示图片超链接的代码:
源代码如下:
<asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1" OnDataBound="FormView1_DataBound">
<ItemTemplate>
<a href='details.aspx?AlbumID=<%# Eval("AlbumID") %>&Page=<%# Container.DataItemIndex %>'>
<img alt='第<%# Eval("PhotoID") %>个小图片' src='Handler.ashx?PhotoID=<%# Eval("PhotoID") %>&Size=S' />
</a>
</ItemTemplate>
</asp:FormView>
(3) 在后台代码文件中,实现GetRandomAlbumID()方法如下,方法用了集合类ArrayList及随机数类Random.
(4) 建立FormView1的DataBound事件代码如下(课本是中连接到Randomize()):
在此代码中设置的给TextBox1设置了一个随机相册ID号,实际上传到了SqlDataSource1中的参数AlbumID;另外设置的FormView1.PageIndex为一个不大于FormView1.PageCount的随机数。
至些,功能实现。