如何onclick事件中取得datalist中显示的ID值呢?
我需要按顺序取得所有的datalist中显示的ID值,我做的是考试页面,需要将学生做的每一题的答案写回数据库,但是,我却只能显示出题目,而不知道如何重新获取所显示题目的ID值,
麻烦各位高手指教一下啊
相关代码如下:
<asp:DataList ID="dlstSimple" ItemStyle-Width="100%" DataKeyField="id" runat="server">
<itemtemplate>
<table width="700" border="1" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td width="5%" align="center"><% Response.Write(i+1) %><% i=i+1 %>:</td>
<td><%# DataBinder.Eval(Container.DataItem,"question") %>
<input type="text" id=aaa value="<%#DataBinder.Eval(Container.DataItem,"id")%>">
</td>
</tr>
<tr>
<td><asp:RadioButton ID="rdb1" GroupName="Simple" runat="server" /></td>
<td>A: <%# DataBinder.Eval(Container.DataItem,"aA") %></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdb2" GroupName="Simple" runat="server" /></td>
<td>B: <%# DataBinder.Eval(Container.DataItem,"aB") %></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdb3" GroupName="Simple" runat="server" /></td>
<td>C: <%# DataBinder.Eval(Container.DataItem,"aC") %></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdb4" GroupName="Simple" runat="server" /></td>
<td>D: <%# DataBinder.Eval(Container.DataItem,"aD") %></td>
</tr>
<tr>
<td><asp:RadioButton ID="rdb5" GroupName="Simple" runat="server" /></td>
<td>E: <%# DataBinder.Eval(Container.DataItem,"aE") %></td>
</tr>
</table>
</itemtemplate>
</asp:DataList>
问题点数:21、回复次数:16Top
1 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-05-10 08:55:44 得分 2
哎呀,你再从数据库取出来的时候,你就可以用一个数组,比如ArrayList来保存他的ID嘛。当然也可以保存答案啊。什么的。。。Top
2 楼Bruce_H21(麦克屎高飞)回复于 2005-05-10 08:59:15 得分 1
DataGrid1.DataKeys(e.Item.ItemIndex) --- 主键IDTop
3 楼Bruce_H21(麦克屎高飞)回复于 2005-05-10 09:02:13 得分 1
当然首先应该绑定该字段
DataGrid1.DataSource= ...
DataGrid1.DataKeyField="主键ID"
DataGrid1.DataBind()Top
4 楼lywzl(悠闲闪客)回复于 2005-05-10 09:10:03 得分 1
应该在dataset中取ID,另外在select查询语句中应该包含ID字段,就可以取得IDTop
5 楼sukaru(逍遥子)回复于 2005-05-10 09:12:54 得分 7
可以先绑定主键 DataGrid1.DataKeyField="主键ID"
其实我觉得你总是得遍历所有的cell,你为什么不能在遍历的时候再获取这个ID呢?Top
6 楼vzxq(灵感人)回复于 2005-05-10 10:38:03 得分 2
事先保存起来好Top
7 楼wd_terry(IQ+EQ=QQ)回复于 2005-05-10 10:54:11 得分 1
不是很懂楼主的意思,不知道可不可以先做个HIDDEN属性的控件保存ID值?Top
8 楼njuzgj(罐子)回复于 2005-05-10 11:12:46 得分 0
UPTop
9 楼pgy8288(Just Coding)回复于 2005-05-10 15:10:43 得分 0
我做了一个hidden控件,但是取值的时候老是有问题Top
10 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-10 16:16:01 得分 1
你应对datalist绑定主键,这样取就方便了,就如 sukaru(逍遥子) 所说的.具体如下:
this.datalist1.DataSource = 数据集
this.datalist1.DataKeyField = "xxid";
this.datalist1.DataBind();
然后,在取值的时候就可以这样
for(int i=0;i<this.datalist1.Items.Count;i++)
{
xxid = this.datalist1.DataKeys[i].ToString();
}
不必自己做hidden去保存,太麻烦.Top
11 楼newb921(Angel)回复于 2005-05-11 09:46:11 得分 1
hchxxzx(NET?摸到一点门槛)
楼上,我想问一下,如果我在datalist绑定后加了radiolist或是textbox,在触发事件的时候,如何获得他们的值?Top
12 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-11 10:01:28 得分 1
如下:
TextBox mybox = (TextBox)this.DataList1.Items[触发的行数].FindControl("TextBox的ID");
值 = mybox.Text;Top
13 楼pgy8288(Just Coding)回复于 2005-05-11 11:00:34 得分 0
其实我觉得你总是得遍历所有的cell,你为什么不能在遍历的时候再获取这个ID呢?
如何遍历获取呢?
麻烦你给点资料啊或者讲解一下啊,因为我既需要得到ID,也需要得到在一个ID对应的题目中,考生所选择/填写的答案
谢谢啦
Top
14 楼newb921(Angel)回复于 2005-05-11 11:26:58 得分 1
hchxxzx(NET?摸到一点门槛)
现在的问题是,我不知道radiolist或是textbox的ID或是数量,我得遍历datalist来判断,
foreach( Control c in this.Controls)
{
string strtype =c.GetType().ToString();
if (c.GetType().ToString()== "System.Web.UI.HtmlControls.HtmlForm")
{
foreach (Control tb in c.Controls)
{
//string strtb = tb.GetType().ToString();
if ( tb is TextBox )
{
//string bbb = ( ( TextBox ) tb ).Text.ToString();
}
else
{
if(tb is RadioButtonList)
{
string aaa = ((RadioButtonList)tb).SelectedValue.ToString();
}
}
}
}
}
上面的方法只遍历了大的控件,并没有遍历到datalist里边绑定的控件,请教,如何遍历datalist里边绑定的控件?Top
15 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-11 22:59:48 得分 2
在DATALIST绑定之后,立即执行如下
for(int i=0;i<this.datalist1.Items.Count;i++)
{
//取键值
xxid = this.datalist1.DataKeys[i].ToString();
//这个就是取到DATALIST里面的控件,其他的控件也类似于此
TextBox mybox = (TextBox)this.DataList1.Items[i].FindControl("TextBox的ID");
}Top
16 楼pgy8288(Just Coding)回复于 2005-05-14 16:39:34 得分 0
3,1,1,1,10,2,1,0,0,1,0,1,0,0,
贴子回复次数大于跟给分次数
这是什么意思?
怎么结不了帖子啊Top
相关问题
- DataList的ItemDataBound事件
- datalist绑定控件事件!
- 事件ID 8032
- DataList嵌套DataList,子DataList控件中的ItemDataBound事件的问题
- 我怎样才能在DataList的ItemDataBound事件中对每个单元格改变它的值?
- 马上给分:如何通过一个按钮事件取得在DataList中的CheckBoxList中的值??
- datalist如何在EditCommand事件里面取得某一列(未绑定到控件)的值?
- 提问:Datalist中的事件触发
- datalist的ItemCreated事件执行问题
- DataList的ItemTemplate中button事件的捕获




