我的数据库是这样设计的
题目表
主键 内容
1 你的童年是什么样子的呢?答案表
主键 答案内容 外键对应题目表
1 A.在父母的宠爱下度过的。 1
2 B.在相当孤独的情况之下度过的。 1
3 C.我和父母的情感比较一般。 1 我怎么在浏览器上显示成这样
1 你的童年是什么样子的呢?
A.在父母的宠爱下度过的。
B.在相当孤独的情况之下度过的。
C.我和父母的情感比较一般。
用datalist还是什么显示最好?谢谢大家
题目表
主键 内容
1 你的童年是什么样子的呢?答案表
主键 答案内容 外键对应题目表
1 A.在父母的宠爱下度过的。 1
2 B.在相当孤独的情况之下度过的。 1
3 C.我和父母的情感比较一般。 1 我怎么在浏览器上显示成这样
1 你的童年是什么样子的呢?
A.在父母的宠爱下度过的。
B.在相当孤独的情况之下度过的。
C.我和父母的情感比较一般。
用datalist还是什么显示最好?谢谢大家
内层repeater 显示该题目答案传送门:
http://hi.baidu.com/tangfu159/blog/item/d047edfab741042b4e4aea7b.html
2-->asc(B)=66
3-->asc(C)=67
数据索引加上64,再反取ascii字符应该就可以了吧。
{
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;
}你代码有问题吗
查询出来就OK了。
然后用数据控件显示出来
<%# Eval("名")%>
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();
}
}