我的数据库是这样设计的
题目表
主键 内容
 1   你的童年是什么样子的呢?答案表
主键 答案内容                      外键对应题目表
 1     A.在父母的宠爱下度过的。           1
 2     B.在相当孤独的情况之下度过的。     1
 3     C.我和父母的情感比较一般。         1 我怎么在浏览器上显示成这样
1   你的童年是什么样子的呢?
A.在父母的宠爱下度过的。           
B.在相当孤独的情况之下度过的。     
C.我和父母的情感比较一般。 
用datalist还是什么显示最好?谢谢大家

解决方案 »

  1.   

    Repeater吧,生成的html没有多余的代码。
      

  2.   

    关注一下 ! 用什么控件都是一会事 ! 关键那个 1 还有那个 ABC 我比较关心 .. 呵呵!
      

  3.   

    repeater嵌套外层repeater 显示所有题目
    内层repeater 显示该题目答案传送门:
    http://hi.baidu.com/tangfu159/blog/item/d047edfab741042b4e4aea7b.html
      

  4.   

    FormView,自己定义格式也可。
      

  5.   

    1-->asc(A)=65
    2-->asc(B)=66
    3-->asc(C)=67
    数据索引加上64,再反取ascii字符应该就可以了吧。
      

  6.   

     public static List<Answer> GetBySubject()
            {
                string sql = "select * from view_Answer";
                return ExecuteReader_Answer(CommandType.Text, sql, null);
            }        private static List<Answer> ExecuteReader_Answer(CommandType cmdType, String cmdText, params SqlParameter[] commandParameters)
            {
                List<Answer> list = new List<Answer>();
                using (SqlDataReader dr = DB.ExecuteReader(cmdType, cmdText, commandParameters))
                {
                    while (dr.Read())
                    {
                        Answer answer = new Answer();
                        answer.Id = Convert.ToInt32(dr["id"]);
                        answer.Answers = dr["answer"].ToString();                    Subject sub = new Subject();
                        sub.Id = (int)dr["id"];
                        sub.Title = dr["title"].ToString();
                        answer.SubjectId = sub;                    list.Add(answer);
                    }
                    dr.Close();
                }
                return list;
            }你代码有问题吗
      

  7.   

    select * from 选择表 where 题目 = '你的童年是什么样子的呢?'
    查询出来就OK了。
    然后用数据控件显示出来
    <%# Eval("名")%>
      

  8.   

    using System;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data;
    using System.Data.SqlClient;
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                PageFirstLoad();
                QuestLoad();
            }
        }
        protected void PageFirstLoad()
        {
            if (Request.QueryString["id"] != null)
            {
                string str = Request.QueryString["id"].ToString();
                SqlConnection cn = new SqlConnection("Data Source=HP-PC;Initial Catalog=TouPiaoData;User ID=sa");
                SqlCommand cmd = new SqlCommand("select colname from TB_Col where colid=" + str, cn);
                cn.Open();
                object obj = cmd.ExecuteScalar();
                cn.Close();
                if (obj != null)
                {
                    Label1.Text = obj.ToString();
                    ViewState["ColID"] = str;
                    ViewState["QuestPos"] = 1;
                    ViewState["Answer"] = "";
                }
                else
                {
                    Response.Redirect("Default2.aspx");
                }
            }
            else
            {
                Response.Redirect("Default2.aspx");
            }
        }
        protected void QuestLoad()
        {
            SqlConnection cn = new SqlConnection("Data Source=HP-PC;Initial Catalog=TouPiaoData;User ID=sa");
            string strSQL = string.Format("select * from TB_Quest where colid={0} and QuestID={1}",ViewState["ColID"].ToString(),ViewState["QuestPos"].ToString());
            SqlCommand cmd = new SqlCommand(strSQL,cn);
            cn.Open();
            SqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read())
            {
                RaList.Items.Clear();
                LitQuest.Text = ViewState["QuestPos"].ToString() + reader["QuestName"].ToString();
                ListItem li = new ListItem();
                li.Text = "A" + reader["ChooseA"].ToString();
                li.Value = "A";
                RaList.Items.Add(li);            li = new ListItem();
                li.Text = "B" + reader["ChooseB"].ToString();
                li.Value = "B";
                RaList.Items.Add(li);            li = new ListItem();
                li.Text = "C" + reader["ChooseC"].ToString();
                li.Value = "C";
                RaList.Items.Add(li);            li = new ListItem();
                li.Text = "D" + reader["ChooseD"].ToString();
                li.Value = "D";
                RaList.Items.Add(li);
            }
            else
            {
                SaveAnswer();
            }
            cn.Close();
        }
        protected void SaveAnswer()
        {
            string[] str = ViewState["Answer"].ToString().Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < str.Length; i += 2)
            { 
                
            }
        }
        protected void BtnC_Click(object sender, EventArgs e)
        {
            string str = ViewState["Answer"].ToString();
            ViewState["Answer"] = str + "," + HiddenField1.Value + "," + RaList.SelectedValue;
            int Number = Convert.ToInt32(ViewState["QuestPos"]);
            ViewState["QuestPos"] = Number + 1;
            QuestLoad();
        }
    }