none
关于网页考试,如何一次性把考题信息都下载到本地? RRS feed

  • 问题

  • (网页考试)如何把考题信息在页面第一次加载时,都下载到本地.

    一次只显示一题考题信息,做完后提交并打分.

    请问这该如何实现,请提供相关思路或者相关代码,谢谢.

    2012年2月9日 2:08

答案

  • 直接一次下载到页面,做成多个Div,然后给所有题答案做成Radio,Name可以为 <input name="question_题ID"> 就行


    之后点击下一题,隐藏(可以同为一个Class),自动显示下一个Div(div可以加入一个Attribute 比如 <Div id="QuestionDetails_题ID" class="question"></div>)直接在找下一个div就可以了


    服务端直接读取整个试题做个循环

    List<int> answers=new List<int>();

    foreach(Question question in questions)

    {

      var answer=Convert.ToInt32( Request.Forms["question"+question.ID]);

    ansers.add(answer);

    }


     之后一次提交到服务层判断,最后返回即可

    不要过于依赖微软的控件,那些只是为了松耦合,全部依赖就会用烂




    2012年2月11日 12:36
    版主

全部回复

  • 如果你要开发这个系统——

    1)使用DetailsView+SqlDataSource,并且启动分页即可。

    2)如果需要随机选题,请使用:select * from xxx order by newid()

    3)提交的时候,从提交答案题库和你原题库的答案进行对比,评分即可。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处


    2012年2月9日 2:20
  • 我试试看啊,谢谢你的建议.

    2012年2月9日 2:38
  • 这种方法可以是可以的.

    但是,如果在网络环境不好的情况下(很卡),可不可以把信息先下载到本地,然后在进行做题.

    有没有这方面的思路或者相关参考代码.谢谢.

    2012年2月9日 5:54
  • 你可以采用如下思路

    1.考试前先把考试信息,下载到本地,以XML文件保存到本地,如果考虑安全性的,可以把XML文件创建成带密码的压缩包

    2.考试的过程中,通过解压密码,读取本地的XML文件,也可以把考试信息以内存流的形式保存到内存中,然后从内存中读取


    http://blog.csdn.net/zx13525079024

    2012年2月9日 6:47
  • 你可以采用如下思路

    1.考试前先把考试信息,下载到本地,以XML文件保存到本地,如果考虑安全性的,可以把XML文件创建成带密码的压缩包

    2.考试的过程中,通过解压密码,读取本地的XML文件,也可以把考试信息以内存流的形式保存到内存中,然后从内存中读取


    http://blog.csdn.net/zx13525079024


    把考试信息已XML文件格式保存到本地,是不是要用户在本地机器上选择要保存的文件路径?

    如果要的话,客户体验不好.

    可否详细说明一下.
    2012年2月9日 7:18
  • 这种方法可以是可以的.

    但是,如果在网络环境不好的情况下(很卡),可不可以把信息先下载到本地,然后在进行做题.

    有没有这方面的思路或者相关参考代码.谢谢.

    可以:

    1)把题目设法通过序列化的形式自动存储到一个dat文件中,然后通过客户端的软件做题。

    2)提交的时候通过aspx的FileUpLoad方法(注意不要重名就可以了)。

    PS:既然下载到本地,那么客户端WinForm编程就占用90%了。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年2月9日 7:55
  • 在线考试百分之百都必须的网页上实现的,不准备使用WinForm协助完成.

    我的想法是用Javascript不知道行不行.

    请各位给点思路或代码.

    2012年2月9日 8:04
  • java怎么和数据库交互啊?好像不可以的吧?

    那么你还是回到我前面一个回答,放到UpdatePanel中,尝试AJAX。

    或者尝试WebService+jQuery异步方式提交。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处


    2012年2月9日 8:10
  • 我的想法是:

    提交的时候是必须用到服务器端语言,我肯定接受这个思路.

    我在乎的是从上一题到下一题时,显示的过程中网速卡的话,显示的太慢.(我一次只显示一题).

    这该如何解决.

    2012年2月9日 8:16
  • 如果你开发的是网页版的考试系统,就不用把试题信息保存到本地,

    如果你开发的是CS客户端的考试系统,可以把试题信息保存到本地


    http://blog.csdn.net/zx13525079024

    2012年2月9日 9:13
  • 我在乎的是从上一题到下一题时,显示的过程中网速卡的话,显示的太慢.(我一次只显示一题).

    异步jQuery+WebService,即便网速慢,最多是异步的等待。网速真的很慢就只能这样,恐怕软件不能解决硬件的物理性质问题。

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年2月9日 9:14
  • 我有个想法,不知道靠不靠谱?

    一开始把试题信息都下载下来,只显示其中1题其余的隐藏(都在网页中).

    做题的过程中用javascript语言,显示隐藏各题(也是只显示1题).

    最后交卷的时候调用服务器端语言.


    2012年2月9日 11:09
  • 我有个想法,不知道靠不靠谱?

    一开始把试题信息都下载下来,只显示其中1题其余的隐藏(都在网页中).

    做题的过程中用javascript语言,显示隐藏各题(也是只显示1题).

    最后交卷的时候调用服务器端语言.


    那么你下载试题难道不需要和服务器联网对接?还是要的啊……,而且还是使用jQuery和WebService动态页面生成。基本和我的思路一样的——你不妨试试看。

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年2月10日 2:46
  • 1.如果为了减轻IIS的压力,你可要使用JS异步刷新来访问服务器

    2. 如果想减轻数据库的压力,你可以使用两个数据库,一个是只读库(从这个库中读取试题信息),另一个是可写库(用于保存考生的作答信息),


    http://blog.csdn.net/zx13525079024

    2012年2月10日 3:40
  • 好吧,我试试看.

    2012年2月10日 5:14
  • 直接一次下载到页面,做成多个Div,然后给所有题答案做成Radio,Name可以为 <input name="question_题ID"> 就行


    之后点击下一题,隐藏(可以同为一个Class),自动显示下一个Div(div可以加入一个Attribute 比如 <Div id="QuestionDetails_题ID" class="question"></div>)直接在找下一个div就可以了


    服务端直接读取整个试题做个循环

    List<int> answers=new List<int>();

    foreach(Question question in questions)

    {

      var answer=Convert.ToInt32( Request.Forms["question"+question.ID]);

    ansers.add(answer);

    }


     之后一次提交到服务层判断,最后返回即可

    不要过于依赖微软的控件,那些只是为了松耦合,全部依赖就会用烂




    2012年2月11日 12:36
    版主