麦子的家

   :: 首页  :: 新随笔  ::  ::  :: 管理

关于1.1.4 Default.aspx页面的实现的说明

图片出不来,请点击下面链接:

关于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文件的链接。也就是说超链接是要传递两个参数:AlbumIDPage.这里,就要实现产生随机的AlbumIDPage,并且传给SqlDataSource

开始想用直接设置SqlDataSource中相应属性的方法来传递随机数,但试了多次,都无法实现。最后还是用原来的方法传递参数值。实现方法说明如下:

(1)            播放一个TextBox控件MasterPage.master,并设置其为隐藏(Visible="False";拖放一个SqlDataSource 控件到MasterPage.master中,其设置如课本8.2.1,但设置参数AlbumID参数值时,不是从QueryString中获取,而是从TextBox1中获取。如图示:

(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)            建立FormView1DataBound事件代码如下(课本是中连接到Randomize()):

在此代码中设置的给TextBox1设置了一个随机相册ID号,实际上传到了SqlDataSource1中的参数AlbumID;另外设置的FormView1.PageIndex为一个不大于FormView1.PageCount的随机数。

 

至些,功能实现。

posted on 2007-05-25 16:48  麦子  阅读(721)  评论(0编辑  收藏  举报