• 单选项选择时,即时更新至数据库


    看过这两篇博文的网友,都会知道,考卷在所有选项选择完成之后,再一次交卷,并关闭试卷。
    http://www.cnblogs.com/insus/p/3193619.html
    http://www.cnblogs.com/insus/p/3197194.html

    如今Insus.NET做实现另外方法,就是每个选项选择时,即时更新至数据库,可以解决不小心关闭网页,重新登录时,可以看到没有提交的考卷,前面做已经保存于数据库中的答案,没有白做。当用户最后交卷时,点“交卷”铵钮,只是做关闭动作。
    当重新打开关闭的考卷,或是在批改时,应该把考员所选择的选项显示出来。

    好的,问题清楚了,Insus.NET这次使用All-in-One的方式。抛开用户控件。所有功能均在网页中来实现。
    数据库还是使用以前那个例子的数据库。有程序中,那个类别SingleChoose.csTest.cs原样保留。




     在站点中,创建一个网页,在网页中创建一个Repeater控件:

     
    由于是All-in-On,因此可以看到高亮部分的html已经直接是拉RadioButtonList控件。现在要为Repeater控件绑定数据,去.aspx.cs 写程序:

     

     
    接下来,是为Repeater控件内的RadioButtonList控件绑定选项。首先在Repeater控件中添加一个OnItemDataBound事件:




    绑定选项数据前,先实例化对象SingleChoose objSingleChoose = new SingleChoose();



    数据绑定完毕,现在我们需要做的是考员点击选项时,即时更新数据库。因此需要为RadioButtonList控件实现SelectedIndexChanged事件,还是为RadioButtonList控件设定属性AutoPostBack为true。这样才会让RadioButtonList每点一次,将PostBack去服务端更新数据。
    去.aspx网页的Repeater控件,添加另外一个事件OnItemCreated:




    去.aspx.cs写上面事件的逻辑代码:



    上图中有一个事件委托rbl_SelectedIndexChanged事件,找到记录主键,并更新数据库。



    动画演示一下, 动画演示中,有把存储的选项显示出来。

    rbl.SelectedValue = DataBinder.Eval(e.Item.DataItem, "Answer").ToString();

     

     

  • 相关阅读:
    vue 拖拽移动(类似于iPhone虚拟home )
    鼠标事件-MouseEvent【转】
    JS快速排序 希尔排序 归并排序 选择排序
    JS 继承
    Centos6 iptables 防火墙设置【转】
    centos6 mongodb 安装
    操作系统中涉及的各种调度算法
    循环队列
    队列
    栈(C++)
  • 原文地址:https://www.cnblogs.com/insus/p/3199341.html
Copyright © 2020-2023  润新知