记录学习设计网站的过程

找一个现成的系统,根据需要进行修改。

 

一、修改文字信息

1、修改一些图片的信息和文字的信息,注意图片的路径,还有框架信息;

 

二、修改菜单

1、该类菜单的形式

2、文件:将所需的js文件放入文件夹jsxyq;将图片文件放入imgxyq;

3、利用js和css制作了菜单

4、发现并解决了菜单闪烁的问题;

5、掌握了菜单制作的方法。

 

三、设计查询页面

1、源文件有这个引用:<script type="text/javascript" src="../js/UART.js"></script>  ,这里UART.js的意思大概是如下:

     UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置

 

2、注意一下页面放置图片的顶部和底部

<!-- 这个表格的行是放了几个图片,用作页面的底部  -->

 

3、先设计了使用gridview和 pagetemplate组合的分页显示,具体见文章使用gridview和 pagetemplate组合的分页显示》,文件是:

      /Reportxyq/showx.aspx

 

4、设计使用AspNetPage的分页显示,具体实现见文章:《AspNetPager的使用,分页显示

   文件是:/Reportxyq/showxaspnetpager.aspx

 

5、设计带Excel导出按钮的AspNetPage的分页显示页面ShowWithExcel.aspx

      a、新建页面ShowWithExcel.aspx,把showxaspnetpager.aspx的页面内容复制进去,注意不要复制最上行(里面有cs文件信息,不适用),如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="showxAspNetPager.aspx.cs" Inherits="Reportxyq_showxAspNetPager" %>

     b、再把现成的“excel导出”页面中的按钮复制到ShowWithExcel.aspx页面的合适位置,按钮代码是:

<asp:Button ID="Button1" runat="server" οnclick="Button1_Click"   Text="导成excel" />

    c、查看代码,把showxaspnetpager.aspx的背后代码页面内容“excel导出”页面的背后代码内容小心合理的复制过去,最后别忘了using部分的内容,

    自此,完成页面ShowWithExcel.aspx,但是经测试,只显示当前页的内容

    待进一步解决:

        打算使用不可见的gridview来解决,但实际上是不行的:gridview将数据导出到excel宗旨是gridview的数据已经转换成页面的HTML代码再使用文件流写入到excel中的.

        后google后发现需要重新写导出excel部分的代码,主要是数据源从gridview改为使用dataset变换成DataTable,然后逐行逐条写写入excel。

 

  6、设计能够导出所有记录到excel的分页(使用AspNetPager)页面,详见:《设计能够导出所有记录到excel的分页(使用AspNetPager)页面,并解决excel文件名中文乱码问题

       a、新建页面ShowAllWithExcel.aspx,把ShowWithExcel.aspx的页面和背后代码都复制过去。

       注意:页面的首行不复制,其他都复制代码using都替换public partial class行不动,其他都替换

       b、修改写到excel部分的代码:主要是数据源从gridview改为使用dataset变换成DataTable,然后逐行逐条写写入excel。

      完成后测试OK,满足分页和全部记录导出到excel的目的,但是excel的中文文件名乱码,解决方案:

         //解决文件名乱码,重命名文件名
         FileName = HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);

 

7、设计带进度条的ShowAllWithExcelProgress.aspx,详见《》

      过程中几个问题:

      a、在整个页面出来前,没有等待的显示,待查。:http://zhangxiaofei576342.blog.163.com/blog/static/2086199020100212332232/

      b、经思考,使用UpdateProgress控件不能达到预期,因为是需要在页面加载前提示,而UpdateProgress只能实现页面内部部分更新是的提示。

       搜索到:“页面加载给出提示 asp.net”  http://shuikanshui.blog.163.com/blog/static/14823642011017103710381/

      上面的是一个好的方法,但是页面格式受到影响,待解决。

      c、后发现,不需要整个页面加载,使用UpdateProgress控件能够达到预期,加个Button可以解决问题。把上述文件另存为ShowLoading.aspx。

      继续设计ShowAllWithExcelProgress.aspx

      ===================================

     d、点击的Button控件一定要放在如下×××的位置,点击才能调用到UpdateProgress:

        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate>××× </ContentTemplate> </asp:UpdatePanel>

     e、<ContentTemplate> <UpdatePanel>出控件外,要放整个表格(部分单元格或行可能出错的)</ContentTemplate> </asp:UpdatePanel>

         

8、设计有加载提示的页面:ShowLoading.aspx(见上条)

 

9、设计带有时间等可选控件的的页面:ShowFinal.aspx

       a、复制ShowAllWithExcelProgress.aspx的页面和cs到ShowFinal.aspx的页面和cs,注意:页面的首行不复制,其他都复制代码using都替换public partial class行不动,其他都替换

       b、下载My97DatePicker,放入Web目录下,在页面的<head></head>之间插入代码:

              <script language="javascript" type="text/javascript" src="../My97DatePicker/WdatePicker.js"></script>,注意路径。

       c、使用方法一,html方法:

                     <input id="datebegin" type="text" onClick="WdatePicker()" />,暂时没找到引用值的方法;

             使用方法二,TextBox控件方法:

                     <asp:TextBox ID="TextBox1" runat="server"  onClick="WdatePicker()" ></asp:TextBox>,注意是onClick,而不是onfocus

                    另外注意要把My97DatePicker放到项目的解决方案里面!!!

                    本项目使用方法二!!

        d、设置TextBox的只读属性,在页面中:ReadOnly="True";后经测试,这个属性被删除,否则虽然页面上可以看到设定的日期,但是实际上TextBox.text没有被赋值。

              设置97控件的日期格式,在页面中:onClick="WdatePicker({dateFmt:'yyyyMMdd'})

              设置textBox的默认值:             

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
              DateBegin.Text = DateTime.Now.ToString("yyyyMMdd");
              DateEnd.Text   = DateTime.Now.ToString("yyyyMMdd");
        }
    }

        

四、DAL目录(与WEB同级)下的项目,包括用户认证的代码。

 

五、设计分析工具。

    1、

 

     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值