日期:2014-05-17  浏览次数:20464 次

asp.net 动态生成试卷的问题
要实现生成网上试卷的功能,试卷题目类型有单选,多选,和问答题。单选,多选题选项个数不确定,题目个数也不确定。数据库中有试题表,试题选项表,用户答案表。我怎样从数据库中读取试题和选项动态生成试卷?
ASP.NET

------解决方案--------------------
弄自定义的选择,由创建试卷的人来选定各种类型题目的数量,然后你去对应的题目里面随即抽取对应数量的题目出来即可-[喽水把子]
------解决方案--------------------
试题是属于试卷的,首先要根据哪套试卷来遍历所有题目,根据题目类型分别加载本类型下的试题,再根据具体题目找出所有选项

分块会比较好,单选区域、多选区域、问答区域,然后分别遍历显示
------解决方案--------------------
你可以在没有读数据库之前用随机数生成三种题型各个的题目数量,让后再到数据库随机读取每个题型相应的题数量
------解决方案--------------------
根据具体情况,后台给个方向,让管理员添加试题的时候选择选择类型:单选,多选(给这栏设置个字段)

前台试题调用的时候,根据选择类型,在后台设置控件,服务器控件实现起来太麻烦,建议使用ajax的方式
追加服务器控件,实现多选和单选

下边是个例子,和你说的差不多


    /// <summary>
    /// 创建控件
    /// </summary>
    /// <param name="item"></param>
    /// <returns></returns>
    private string createControl(Model.ProductAttribute item)
    {
        string input = "";
        if (item.OptionalType.Value == 0)
        {
            if (item.EntryType.Value == 0)  /*input*/
            {
                input += string.Format("<div><input type=\"text\" class=\"ipt1\" name=\"attr_[{0}]\"/></div>", item.ID);
            }
            else if (item.EntryType.Value == 1)/*select*/
            {
                input += string.Format("<div><select name=\"attr_[{0}]\">", item.ID);
                input += "<option value=\"请选择\">请选择</option>";
                foreach (string option in Regex.Split(item.OptionalValueList, "\r\n"))
                {
                    if (!string.IsNullOrEmpty(option))
                    {
                        input += "<option value=\"" + option + "\">" + option +