▲▲▲散分!!!,请大虾看看

sunwww168 2005-03-22 03:59:08
现正做一个考试系统,请问一下考试系统的前台考试页面如何实现,考试页面有单选,多选等。我想问的是:
1.用什么控件来实现较好。
2.我的想法是用datalist实现,但不太清楚怎么在datalist中动态生成RadioButton控件同时给它梆定数据源,
3.以及怎么获取考试用户选取的RqdioButton
在线等待。
...全文
156 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunwww168 2005-03-22
  • 打赏
  • 举报
回复
radiobuttonlist绑定时出问题了,我的数据库中有这几个字段xxa,xxb,xxc,xxd,xxe,xxf
怎么把它绑定到radiobuttonlist上,使它能这样显示
1.第一题,请选择()
xxa
xxb
xxc
xxd
xxe
xxf
下面是我的绑定,但有问题,不能显示所有的内容
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if(e.Item.ItemIndex>-1)
{
string sql="select xxa,xxb,xxc,xxd,xxe,xxf from ks_tiku";
DataSet ds=new DataSet();
ds=ksxtcs.DataSets(sql);
RadioButtonList tmp = (RadioButtonList)e.Item.FindControl("RadioButtonList1");


tmp.DataSource =ds.Tables[0].DefaultView;

tmp.DataBind();
}

//tmp.Items.Add(dr[0].ToString());
//DataList1.Controls.Contains()

}
neuhawk 2005-03-22
  • 打赏
  • 举报
回复
用模版列阿,以编程的方式。
minghui000 2005-03-22
  • 打赏
  • 举报
回复
送你2个字 “简单”
「已注销」 2005-03-22
  • 打赏
  • 举报
回复
xml+xsl+javascript

<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet version="1.0" type="text/xsl" href="xsl.xsl"?>
<Root>
<Subject ID="1" Score="10" TotalScore="20">
<SubjectDetail ID="1">
<ID>1</ID>
<Title>计算机诞生的时间?</Title>
<KeyWord>计算机</KeyWord>
<A>1989</A>
<B>1976</B>
<C>1975</C>
<D>1946</D>
</SubjectDetail>
<SubjectDetail ID="2">
<ID>2</ID>
<Title>windows98的关机方法</Title>
<KeyWord>关机方法</KeyWord>
<A>直接关闭电源</A>
<B>拔下电源插座</B>
<C>在开始菜单中选择关闭系统</C>
<D>ALT+F4</D>
</SubjectDetail>
</Subject>
<Subject ID="2" Score="15" TotalScore="60">
<SubjectDetail ID="1">
<ID>1</ID>
<Title>计算机的外设有哪些?</Title>
<KeyWord />
<A>打印机</A>
<B>扫描仪</B>
<C>数码照相机</C>
<D>cpu</D>
<E>鼠标</E>
<F>键盘</F>
</SubjectDetail>
<SubjectDetail ID="2">
<ID>2</ID>
<Title>字处理软件有哪些?</Title>
<KeyWord>字处理</KeyWord>
<A>word</A>
<B>excel</B>
<C>wps</C>
<D>写字板</D>
<E>frontpage</E>
<F>不知道</F>
</SubjectDetail>
<SubjectDetail ID="3">
<ID>3</ID>
<Title>在word中如何绘制表格?</Title>
<KeyWord>绘制表格</KeyWord>
<A>通过快捷工具栏中的表格图标托拽绘制</A>
<B>通过菜单中的表格设定</B>
<C>用鼠标直接绘制</C>
<D>用键盘绘制</D>
<E>插入</E>
<F>添加</F>
</SubjectDetail>
<SubjectDetail ID="4">
<ID>4</ID>
<Title>在word中如何修改字体的大小?</Title>
<KeyWord>字体大小</KeyWord>
<A>无法修改</A>
<B>通过菜单中的字体菜单设置</B>
<C>通过快捷工具栏中的字体大小设置</C>
<D>不知道</D>
<E>快捷键</E>
<F>选择</F>
</SubjectDetail>
</Subject>
<Subject ID="3" Score="10" TotalScore="20">
<SubjectDetail ID="1">
<ID>1</ID>
<Title>键盘是计算机的内设</Title>
<KeyWord>键盘</KeyWord>
</SubjectDetail>
<SubjectDetail ID="2">
<ID>2</ID>
<Title>计算机软件包括系统软件和应用软件两种</Title>
<KeyWord>计算机软件</KeyWord>
</SubjectDetail>
</Subject>
</Root>


<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table>
<tr><td><font color="#0000FF"><B>一.单项选择题(每小题<xsl:value-of select="//Subject[@ID='1']/@Score"/>分,
共<xsl:value-of select="//Subject[@ID='1']/@TotalScore"/>分)</B></font></td></tr>
<xsl:for-each select = "//Subject[@ID='1']/SubjectDetail">
<tr><td><B><xsl:value-of select="@ID"/>:
<xsl:value-of select="Title"/></B><BR/>

<input type="radio" value="A">
<xsl:attribute name="name">rb1_<xsl:value-of select="ID"/></xsl:attribute>
</input>A:<xsl:value-of select="A"/><BR/>
<input type="radio" value="B">
<xsl:attribute name="name">rb1_<xsl:value-of select="ID"/></xsl:attribute>
</input>B:<xsl:value-of select="B"/><BR/>
<input type="radio" value="C">
<xsl:attribute name="name">rb1_<xsl:value-of select="ID"/></xsl:attribute>
</input>C:<xsl:value-of select="C"/><BR/>
<input type="radio" value="D">
<xsl:attribute name="name">rb1_<xsl:value-of select="ID"/></xsl:attribute>
</input>D:<xsl:value-of select="D"/><BR/></td></tr>
</xsl:for-each>

<tr><td height="30"></td></tr>

<tr><td><font color="#0000FF"><B>二.项选择题(每小题<xsl:value-of select="//Subject[@ID='1']/@Score"/>分,
共<xsl:value-of select="//Subject[@ID='1']/@TotalScore"/>分)</B></font></td></tr>
<xsl:for-each select = "//Subject[@ID='2']/SubjectDetail">
<tr><td><B><xsl:value-of select="@ID"/>:
<xsl:value-of select="Title"/></B><BR/>

<input type="checkbox" value="A">
<xsl:attribute name="name">Acb2_<xsl:value-of select="ID"/></xsl:attribute>
</input>A:<xsl:value-of select="A"/><BR/>
<input type="checkbox" value="B">
<xsl:attribute name="name">Bcb2_<xsl:value-of select="ID"/></xsl:attribute>
</input>B:<xsl:value-of select="B"/><BR/>
<input type="checkbox" value="C">
<xsl:attribute name="name">Ccb2_<xsl:value-of select="ID"/></xsl:attribute>
</input>C:<xsl:value-of select="C"/><BR/>
<input type="checkbox" value="D">
<xsl:attribute name="name">Dcb2_<xsl:value-of select="ID"/></xsl:attribute>
</input>D:<xsl:value-of select="D"/><BR/>
<input type="checkbox" value="E">
<xsl:attribute name="name">Ecb2_<xsl:value-of select="ID"/></xsl:attribute>
</input>E:<xsl:value-of select="E"/><BR/>
<input type="checkbox" value="F">
<xsl:attribute name="name">Fcb2_<xsl:value-of select="ID"/></xsl:attribute>
</input>F:<xsl:value-of select="F"/><BR/></td></tr>
</xsl:for-each>

<tr><td height="30"></td></tr>

<tr><td><font color="#0000FF"><B>三.判断题(每小题<xsl:value-of select="//Subject[@ID='1']/@Score"/>分,
共<xsl:value-of select="//Subject[@ID='1']/@TotalScore"/>分)</B></font></td></tr>
<xsl:for-each select = "//Subject[@ID='3']/SubjectDetail">
<tr><td><B><xsl:value-of select="@ID"/>:
<xsl:value-of select="Title"/></B><BR/>
<input type="radio" value="1">
<xsl:attribute name="name">rb3_<xsl:value-of select="ID"/></xsl:attribute>
</input>正确
<input type="radio" value="0">
<xsl:attribute name="name">rb3_<xsl:value-of select="ID"/></xsl:attribute>
</input>错误<BR/></td></tr>
</xsl:for-each><BR/>
</table>

</xsl:template>
</xsl:stylesheet>

得到答案
function GetAnswer()
{
var a = document.forms[0].elements; // 得到form中的所有元素
var count = a.length; // form中元素的个数
var answer = ""; // 用于保存答案
var str = ""; // 临时变量
var chk1 = "",chk2 = "";

for (var i=0;i<count;i++)
{
if (a[i].type && a[i].type=="radio") // 对radio作判断
{
if (a[i].checked == true)
{
answer += a[i].name.substring(2,a[i].name.length) + "_" + a[i].value + ",";
}
}

if (a[i].type && a[i].type=="checkbox") // 对checkbox作判断
{
if (a[i].checked == true)
{
str += a[i].value;
}

chk1 = a[i].name.substring(1,a[i].name.length);
chk2 = a[i+1].name.substring(1,a[i+1].name.length);
if (chk1 != chk2 && str != "")
if (str != "")
{
answer += chk1.substring(2,chk1.length) + "_" + str + ",";
str = "";
}

}
}
var PaperID = document.all.PaperID.value;
return "&PaperID=" + PaperID + "&Key=" + answer;
}
chnj1981 2005-03-22
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
在DataGrid的ItemDataBind事件里面去做
sunwww168 2005-03-22
  • 打赏
  • 举报
回复
http://211.69.17.102/ksxt1.0/WebForm1.aspx
我想实现上面的功能,但没有内容的选项也显示出来了,
DG中,radiobuttonlist怎么绑定数据源呀
blackhero 2005-03-22
  • 打赏
  • 举报
回复
up
WTaoboy 2005-03-22
  • 打赏
  • 举报
回复
参考:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<html>


<script language="VB" runat="server">

Sub Page_Load(Src As Object, E As EventArgs)

If Not (Page.IsPostBack)

Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter

MyConnection = New SqlConnection("server=(local)\NetSDK;database=pubs;Trusted_Connection=yes")
MyCommand = New SqlDataAdapter("select * from Titles where type = 'business'", MyConnection)

DS = New DataSet()
MyCommand.Fill(DS, "书名")

MyDataList.DataSource = DS.Tables("书名").DefaultView
MyDataList.DataBind()
End If
End Sub

Sub Submit_Click(Src As Object, E As EventArgs)
Dim I As Long

For I=0 To MyDataList.Items.Count -1

Dim CurrentCheckBox As CheckBox
CurrentCheckBox = MyDataList.Items(I).FindControl("save")
Message.InnerHtml &= "项 (" & i & "): " & CurrentCheckBox.Checked.ToString() & "<br>"
Next
End Sub

</script>

<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

<form runat="server">

<!-- #include virtual="/quickstart/aspplus/samples/webforms/customize/header.inc" -->

<ASP:DataList id="MyDataList" RepeatColumns="2" runat="server">

<ItemTemplate>

<table cellpadding=10 style="font: 10.5pt 宋体">
<tr>
<td width=1 bgcolor="BD8672"/>
<td valign="top">
<img align="top" src='<%# DataBinder.Eval(Container.DataItem, "title_id", "/quickstart/aspplus/images/title-{0}.gif") %>' >
</td>
<td valign="top">
<b>书名:</b><%# DataBinder.Eval(Container.DataItem, "title") %><br>
<b>类别:</b><%# DataBinder.Eval(Container.DataItem, "type") %><br>
<b>出版商 ID:</b><%# DataBinder.Eval(Container.DataItem, "pub_id") %><br>
<b>价格:</b><%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %>
<p>
<asp:CheckBox id="save" runat="server"/> <b>保存到收藏夹</b>
</td>
</tr>
</table>

</ItemTemplate>

</ASP:DataList>

<p>

<div style="padding:0,15,0,15">
<input type="submit" Value="更新收藏夹" OnServerClick="Submit_Click" runat="server"/>
</div>

<p>

<!-- #include virtual="/quickstart/aspplus/samples/webforms/customize/footer.inc" -->

</form>

<div style="font: 10.5pt 宋体" EnableViewState="false" id="message" runat="server"/>

</body>
</html>

comefeel 2005-03-22
  • 打赏
  • 举报
回复
接分先........
tengfeng8888 2005-03-22
  • 打赏
  • 举报
回复
在datagrid中加入模板列:添加radiobuttonlist(单选),或者加入checkboxlist(单选),
silverseven 2005-03-22
  • 打赏
  • 举报
回复
在模板列加个DropDownList 例如ID为"6699"

读取时
dim mycontrol1 as DropDownList
For Each item In DataGrid1.Items
mycontrol1 = item.FindControl("6699")
Next item

sunwww168 2005-03-22
  • 打赏
  • 举报
回复
但是用datalist还有好多的问题没有解决,因为选择题供选择的项不一样,所以datalist中要求动态生成Radiobutton,我不知道怎么动态生成。和怎么获取值。请高手解解。
sunwww168 2005-03-22
  • 打赏
  • 举报
回复
等待中。
guxingwang 2005-03-22
  • 打赏
  • 举报
回复
帮你顶一下,用DataList就可以了。
zippro123 2005-03-22
  • 打赏
  • 举报
回复
在模板列加个DropDownList 例如ID为"6699"

读取时
dim mycontrol1 as DropDownList
For Each item In DataGrid1.Items
mycontrol1 = item.FindControl("6699")
Next item
sunwww168 2005-03-22
  • 打赏
  • 举报
回复
请问JF是什么意思呀
sunwww168 2005-03-22
  • 打赏
  • 举报
回复
用datagrid有一个总是不明白,就是考试题的问题和供选择的答答案都在一行上,怎么让它这样显示呢?
1.请选择下面的答案()
A. sdf
B. sdf
C.sdf
D. dfdf
E.sdf
F.sdf
  • 打赏
  • 举报
回复
单选 一个DG,多选一个DG
JF
flcandclf 2005-03-22
  • 打赏
  • 举报
回复
用摸班列来实现啊,想放什么就放什么
加载更多回复(6)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧