xml保存图片和读取图片(二)

本文介绍了一个使用ASP.NET实现的图片列表展示页面,通过DataGrid控件从XML文件加载图片数据,并支持排序与分页等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.ImageList.aspx

None.gif<%@ Page language="c#" Codebehind="ImageList.aspx.cs" AutoEventWireup="false" Inherits="WebForm_Question2.ImageList" %>
None.gif
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
None.gif
<HTML>
None.gif    
<HEAD>
None.gif        
<title>ImageList</title>
None.gif        
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
None.gif        
<meta name="CODE_LANGUAGE" Content="C#">
None.gif        
<meta name="vs_defaultClientScript" content="JavaScript">
None.gif        
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
None.gif    
</HEAD>
None.gif    
<body MS_POSITIONING="GridLayout">
None.gif        
<form id="Form1" method="post" runat="server">
None.gif            
<TABLE id="Table1" style="Z-INDEX: 102; LEFT: 152px; WIDTH: 694px; POSITION: absolute; TOP: 16px; HEIGHT: 240px"
None.gif                cellSpacing
="1" cellPadding="1" width="694" border="1">
None.gif                
<TR>
None.gif                    
<TD align="center" style="HEIGHT: 34px">
None.gif                        
<asp:Label id="Label1" runat="server" Width="128px" ForeColor="#000040" Font-Bold="True" Font-Size="Larger">图片列表页面</asp:Label></TD>
None.gif                
</TR>
None.gif                
<TR>
None.gif                    
<TD style="HEIGHT: 155px">
None.gif                        
<asp:DataGrid id="DG_ImageList" runat="server" AutoGenerateColumns="False" Width="672px" BorderColor="#CCCCCC"
None.gif                            BorderStyle
="None" BorderWidth="1px" BackColor="White" CellPadding="3" Height="144px" AllowSorting="True"
None.gif                            AllowPaging
="True" PageSize="5">
None.gif                            
<FooterStyle ForeColor="#000066" BackColor="White"></FooterStyle>
None.gif                            
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"></SelectedItemStyle>
None.gif                            
<ItemStyle ForeColor="#000066"></ItemStyle>
None.gif                            
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#006699"></HeaderStyle>
None.gif                            
<Columns>
None.gif                                
<asp:BoundColumn DataField="imageID" HeaderText="图片ID"></asp:BoundColumn>
None.gif                                
<asp:BoundColumn DataField="imagepath" HeaderText="图片路径"></asp:BoundColumn>
None.gif                                
<asp:BoundColumn DataField="imageinfo" HeaderText="图片说明"></asp:BoundColumn>
None.gif                                
<asp:BoundColumn DataField="imagesize" SortExpression="imagesize" HeaderText="图片大小"></asp:BoundColumn>
None.gif                                
<asp:TemplateColumn>
None.gif                                    
<ItemTemplate>
None.gif                                        
<a href='ImageDisplay.aspx?imageID=<%# DataBinder.Eval(Container.DataItem,"imageID")%>'>
None.gif                                            查看
</a>
None.gif                                    
</ItemTemplate>
None.gif                                
</asp:TemplateColumn>
None.gif                            
</Columns>
None.gif                            
<PagerStyle HorizontalAlign="Left" ForeColor="#000066" BackColor="White" Mode="NumericPages"></PagerStyle>
None.gif                        
</asp:DataGrid></TD>
None.gif                
</TR>
None.gif                
<TR>
None.gif                    
<TD><FONT face="宋体">
None.gif                            
<asp:HyperLink id="HyperLink2" runat="server" NavigateUrl="index.aspx">主页面</asp:HyperLink>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
None.gif                            
<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="ImageList.xml">查看XMl文件</asp:HyperLink>
None.gif                        
</FONT>
None.gif                    
</TD>
None.gif                
</TR>
None.gif            
</TABLE>
None.gif        
</form>
None.gif    
</body>
None.gif
</HTML>
None.gif
4.ImageList.aspx.cs
None.gifusing System;
None.gif
using System.Collections;
None.gif
using System.ComponentModel;
None.gif
using System.Data;
None.gif
using System.Drawing;
None.gif
using System.Web;
None.gif
using System.Web.SessionState;
None.gif
using System.Web.UI;
None.gif
using System.Web.UI.WebControls;
None.gif
using System.Web.UI.HtmlControls;
None.gif
None.gif
namespace WebForm_Question2
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//// <summary>
InBlock.gif    
/// ImageList 的摘要说明。
ExpandedSubBlockEnd.gif    
/// </summary>

InBlock.gif    public class ImageList : System.Web.UI.Page
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
protected System.Web.UI.WebControls.Label Label1;
InBlock.gif        
protected System.Web.UI.WebControls.HyperLink HyperLink2;
InBlock.gif        
protected System.Web.UI.WebControls.HyperLink HyperLink1;
InBlock.gif        
protected System.Web.UI.WebControls.DataGrid DG_ImageList;
InBlock.gif    
InBlock.gif        
private void Page_Load(object sender, System.EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
// 在此处放置用户代码以初始化页面
InBlock.gif
            if(!IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                ViewState[
"SortField"= "imagesize"//默认排序字段
InBlock.gif
                BindDG();
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
InBlock.gif        
override protected void OnInit(EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
//
InBlock.gif            
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
InBlock.gif            
//
InBlock.gif
            InitializeComponent();
InBlock.gif            
base.OnInit(e);
ExpandedSubBlockEnd.gif        }

InBlock.gif        
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//// <summary>
InBlock.gif        
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
InBlock.gif        
/// 此方法的内容。
ExpandedSubBlockEnd.gif        
/// </summary>

InBlock.gif        private void InitializeComponent()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{    
InBlock.gif            
this.DG_ImageList.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DG_ImageList_PageIndexChanged);
InBlock.gif            
this.DG_ImageList.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DG_ImageList_ItemDataBound);
InBlock.gif            
this.DG_ImageList.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid_Sort);
InBlock.gif            
this.Load += new System.EventHandler(this.Page_Load);
InBlock.gif
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

ContractedSubBlock.gifExpandedSubBlockStart.gif        
将ImageList.xml文件绑定DataGrid中#region 将ImageList.xml文件绑定DataGrid中
InBlock.gif        
private void BindDG()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            DataSet ds 
= new DataSet();
InBlock.gif            ds.ReadXml(Server.MapPath(
"ImageList.xml"));
InBlock.gif
InBlock.gif            DataView dv 
= (DataView)ds.Tables[0].DefaultView; 
InBlock.gif           
InBlock.gif            
//设置排序的表达式
InBlock.gif
            dv.Sort = SortField;
InBlock.gif            
if (!SortAscending)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
//定义默认的排序表达式
InBlock.gif
                dv.Sort += " DESC";    
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            
this.DG_ImageList.DataSource = ds.Tables[0];
InBlock.gif            
this.DG_ImageList.DataBind();
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

ContractedSubBlock.gifExpandedSubBlockStart.gif        
排序事件处理程序#region 排序事件处理程序
InBlock.gif        
public void DataGrid_Sort(Object sender,DataGridSortCommandEventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
//对DataGrid排序
InBlock.gif
            this.DG_ImageList.CurrentPageIndex = 0;
InBlock.gif            SortField 
= e.SortExpression;
InBlock.gif
InBlock.gif            BindDG(); 
//重新绑定数据
ExpandedSubBlockEnd.gif
        }

InBlock.gif        
string SortField
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
object obj = ViewState["SortField"];
InBlock.gif                
if (obj == null
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
return String.Empty;
ExpandedSubBlockEnd.gif                }

InBlock.gif                
return (string)obj;
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            
set 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if (value == SortField) 
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    SortAscending 
= !SortAscending;
ExpandedSubBlockEnd.gif                }

InBlock.gif                ViewState[
"SortField"= value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        
//排序方式
InBlock.gif
        bool SortAscending 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
object obj = ViewState["SortAscending"];
InBlock.gif                
if (obj == null
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
return true;
ExpandedSubBlockEnd.gif                }

InBlock.gif                
return (bool)obj;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{   
InBlock.gif                ViewState[
"SortAscending"= value;
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif    
ExpandedSubBlockEnd.gif        
#endregion

ContractedSubBlock.gifExpandedSubBlockStart.gif        
DataGrid分页事件#region DataGrid分页事件
InBlock.gif        
private void DG_ImageList_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
this.DG_ImageList.CurrentPageIndex = e.NewPageIndex;
InBlock.gif            BindDG();
InBlock.gif
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

ContractedSubBlock.gifExpandedSubBlockStart.gif        
鼠标经过事件#region 鼠标经过事件
InBlock.gif        
private void DG_ImageList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if ((e.Item.ItemType == ListItemType.Item) |  (e.Item.ItemType == ListItemType.AlternatingItem) )
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                 e.Item.Attributes.Add(
"onmouseover""this.style.backgroundColor='#E4EDF9'");
InBlock.gif                 e.Item.Attributes.Add(
"onmouseout""this.style.backgroundColor='#ffffff'");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif

转载于:https://www.cnblogs.com/tenghoo/archive/2006/09/18/507038.html

将导入的图片中颜色相同的点的范围写入xml。 使用说明: 2.2.1 默认 系统窗体根据配置文件显示当前时间应关闭的区域。 注:可在界面下方的表格中修改关闭区域的相关信息,按【Enter】键完成修改,相关信息将在打印时显示。 2.2.2 临时区域 a) 在下拉列表框中(或鼠标左键单击图片中需关闭的区域)选择关闭区域或机位,系统窗体显示临时关闭的区域。 b)图片中的关闭区域单击鼠标右键(或双击工具栏中列表框中的滑行道、机位等,或在工具栏中的列表框中选择删除区域,单击鼠标右键选择【删除该区域】),取消所选关闭区域。 c) 在工具栏中的列表框中选择区域,单击鼠标右键选择【修改区域名】,在标签“请输入新的区域名称”下方的下拉列表框中输入新的区域名称,按【Enter】键,当列表框中所选区域名改变时,此修改操作完成。 注:1.选择多块区域:单击鼠标左键选择开始区域,单击鼠标右键选择结束区域,则界面显示开始区域至结束区域间所有区域,区域名称为“开始区域名”+“至”+“结束区域名”。 2.可如c)修改区域名称。 2.2.3 配置计划 2.2.3.1 重新配置 删除配置文件中所有已有关闭区域的信息。以便于重新配置。 2.2.3.2 增加配置 增加新的关闭区域配置。 a) 配置开始时间结束时间。 b) 用户可在下拉列表框中(或在图片中单击鼠标左键)选择关闭区域或机位,亦可点击【导入时间段】按钮,复制已有的配置信息。 c) 点击【增加时间段】按钮,将当前配置的关闭区域作为新的时间段添加到配置文件中。 d) 删除关闭区域:在工具栏的列表框中选择删除区域并双击鼠标左键,或单击鼠标右键选择【删除该区域】,亦或在图形界面上双击鼠标右键删除关闭区域。 e) 点击【保存】按钮,保存当前配置的区域信息,并进入下一新增区域配置。 f) 点击【返回】按钮,完成该操作。 注:选择多块区域:单击鼠标左键选择开始区域,单击鼠标右键选择结束区域,则选择且界面显示开始区域至结束区域间所有区域,区域名称为“开始区域名”+“至”+“结束区域名”。 2.2.3.3 修改配置 修改已有的关闭区域的配置信息。 a) 点击【增加时间段】按钮,增加新的时间段,以便于在不同时间关闭其他区域。 b) 点击【删除时间段】按钮,删除已有的时间段。 c) 点击【保存】按钮,保存修改后的配置信息。 d) 点击【清空】按钮,清除当前显示的关闭区域。 e) 在工具栏的列表框中选择区域,单击鼠标右键选择【修改区域名】,在标签“请输入新的区域名称”下方的下拉列表框中输入新的区域名称,按【Enter】键,当列表框中所选区域名改变时,此修改操作完成。 f) 点击【返回】按钮,完成该操作。 注:1.选择多块区域:单击鼠标左键选择开始区域,单击鼠标右键选择结束区域,则选择且界面显示开始区域至结束区域间所有区域,区域名称为“开始区域名”+“至”+“结束区域名”。 2.当选择时间段号后,可在图形界面上进行选择操作,否则鼠标无法选择关闭区域。 2.2.3.4 删除配置 在下拉列表框中选择要删除第几天的区域,点击【删除】按钮,删除所选区域的相关配置信息。 2.2.3.5 查询配置 选择区域下拉列表框中的数据,显示该天所有时间段的关闭区域。选择时间段下拉列表框的数据,显示该时间段的关闭区域,并显示开始时间及结束时间。 2.2.3.6 设置开始日期 选择日期作为“第1天”区域的开始日期,系统根据日期循环显示关闭区域。 2.2.4 全部区域 显示所有可以关闭的区域。 2.2.5 日期查询 选择“开始日期”以后的日期,显示该天的所有时间段的相关信息。 2.2.6 背景颜色 点击【背景颜色】按钮,可选择背景颜色。 2.2.7 打印 打印当前显示的关闭区域、相关信息备注。 注:1.选择【纸张类型】及【方向】。 2.当图形界面下方表格中的【关闭区域】列中的信息过长时将无法完全打印,请适当修改区域名称或手动剪切部分信息至新的一行。 2.2.8 备注 编写“备注”的文本信息。 注:在“备注”框上,按住鼠标左键,“备注”随鼠标移动。 配置说明: Data文件夹包含Area_Show.xml、Areas_Config.xml、ColorRange.xml三个文档。 说明如下: Area_Show.xml为 CloseAreas.exe生成的配置文件,用于记录关闭区域的相关信息。 Areas_Config.xml记录位图“浦东机场(副本1).bmp”中不同颜色所对应的区域名称。 例: <Area> <Name>1</Name> //区域名称为:(机位)1 <Color>ff0101e7</Color> //位图上的所对应的颜色名称。 <RGB>1,1,231</RGB> //位图上所对应颜色的RGB值。 </Area> 。。。。。。 <Area> <Name>A2(不含)-B1(不含)/B</Name> //区域名称:(跑道)A2(不含)-B1(不含)/B <Color>ff02ac04</Color> //位图上的所对应的颜色名称。 <RGB>2,172,4</RGB> //位图上所对应颜色的RGB值。 </Area> 。。。。。。 <Area> //多块区域构建组合区域 <Name>滑边</Name> //区域名称:(别名)滑边 <Color>ff6e7fff</Color> //同时显示多块区域时, <Color>ff6f80ff</Color> //将各区域对应的颜色名称写入此处。 <Color>ff8073ff</Color> <Color>ff7080ff</Color> 。。。。。。 </Area> ColorRange.xml为Write_Config.exe生成的配置文件,用于记录位图“浦东机场(副本1).bmp”中不同颜色的范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值