• 考试系统调试优化总结


            首先来说说我负责这部分,主要是在配置手动试卷这一块。功能:手动配置各学院试卷,提供预览,下载;根据用户的需求不同,需要纸质化考试。这块东西基本上都是CS的,因为界面用的是ASP的,所以基本上很少涉及到前台界面上的数据。前期主要是调试错误,优化。主要来谈谈这次维护。

     

    1.后端控制页面

     

               其实要是html页面的话,就不存在这个问题了。所以很多地方相对在善良公社里面都是不一样的,数据的处理方面更接近牛腩。

     

              

     usingSystem.Web.UI.HtmlControls;
               privateSystem.Web.UI.HtmlControls.HtmlGenericControl isExaming;
    Lable labelcontent=newLable();
    Labelcontent.text="测试";
    isExaming.Controls.Add(labelcontent);

     

    这样就能够在页面上显示我们需要显示的内容了。

     

    实际运用:


    //利用循环取出答案-陈方林-2014.2.16
                for (int i = 0; i <arrAllQuestion.Count; i++)
                {
                    //将arraylist转换为datarow-陈方林-2014.2.16
                    DataRow dranswer =(DataRow)(arrAllQuestion[i]);
                    //取出答案的字段-陈方林-2014.2.16
                    string answer =dranswer["CorrectAnswer"].ToString();
     
                    //将答案显示在界面上-陈方林-2014.2.16
                    Label answerlbl = new Label();
                    answerlbl.Text = answer;
                    Label answerTitle = newLabel();
                    int countTest = i + 1;
                    Label answerTitleFirst = newLabel();
                   answerTitleFirst.Text = "计算选择题答案" +" ";
                   isExaming.Controls.Add(answerTitleFirst);
                   answerTitle.Text = "第" +countTest.ToString() + "题   答案是:" + " ";
                   isExaming.Controls.Add(answerTitle);
                    //添加一行
                    AddOneRow();
                   isExaming.Controls.Add(answerlbl);
                    AddOneRow();
     
                }


    这段就是用来显示答案的代码。主要是循环遍历arralist并转换为datarow来拿出答案。其实大可不必来用一个方法来添加一行,+"&nbsb"就可以解决。


     

    2.导出页面Word文件

     

     

    	public void ExpertControl(System.Web.UI.Control source, DocumentType type)
    	        {
    	            //设置Http的头信息,编码格式  
    	          if (type == DocumentType.Word)
    	            {
    	                //添加文件的名字,result.doc
    	                Response.AppendHeader("Content-Disposition", "attachment;filename=result.doc");
    		   //输出的文件类型,程序调用系统自带的微软的word
    	                Response.ContentType = "application/ms-word";
    	            }
    	            //utf-8是网页默认格式,word出现乱码是因为它的默认格式不是utf-8是gb2312  
    	            Response.Charset = "utf-8";
    		//将源文件的格式加密为utf-8
    	            Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
    	            //关闭控件的视图状态  
    	            source.Page.EnableViewState = false;
    	            //初始化HtmlWriter  
    	            System.IO.StringWriter writer = new System.IO.StringWriter();
    	            System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
    	            source.RenderControl(htmlWriter);
    	            //输出  
    	            Response.Write(writer.ToString());
    	            Response.End();
    	        }
    


     这里主要用到的是web.UI.Control类和Response对象的的输入,输出。说的很官方,其实也就是一些方法。MSDN上都有相应的例子和解释。


    总结

              之上仅仅是系统中冰山一角,仅仅总结了我在维护过程中的一小块。通过ksxtslgs的对比,还是能看到很多不一样的东西。ksxt主要是.net的东西涉及的比较多,slgs则是可能更接近bs的一些常用技术,jseasyui的框架、json的一些东西。还有就是在学习别人的代码过程中,总有这些的体会。往往很多实现功能很复杂的东西,核心的代码只有一两行,因为其他的一些代码还是能够写出来的。每每抓住这些必要核心几句简单的代码,效率上还是不错的。

  • 相关阅读:
    图形学中的贴图採样、走样与反走样等
    重磅公布码农界的第一张吉他专辑小样
    send,recv,sendto,recvfrom
    HttpUnit学习笔记
    2014年度辛星全然解读html第七节
    SD卡中FAT32文件格式高速入门(图文具体介绍)
    HDU-1023 Train Problem II
    Oracle之Check约束实例具体解释
    JDBC连接MySQL数据库及演示样例
    accept函数
  • 原文地址:https://www.cnblogs.com/guziming/p/4232698.html
Copyright © 2020-2023  润新知