datalist下的radiobuttonlist

sdsyzzz 2010-02-27 03:56:52
我现在在做一个在线调查页面,在datalist控件里面嵌套了一个radiobuttonlist控件,现在要实现具体为:比如有三道题,每道题有四个选项ABCD,三道题我分别选择ABC时数据库中的值增加1
数据库如下:

cntA cntB cntC cntD分别代表选该选项的次数
我自己写了个代码,但是总是显示回调参数无效,不知道怎么解决
页面代码如下:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div id="sitemap">
<asp:SiteMapPath ID="SiteMapPath1" runat="server" Font-Names="Verdana"
Font-Size="0.8em" PathSeparator=">" >
<PathSeparatorStyle Font-Bold="True" ForeColor="#990000" />
<CurrentNodeStyle ForeColor="#333333" />
<NodeStyle Font-Bold="True" ForeColor="#990000" />
<RootNodeStyle Font-Bold="True" ForeColor="#FF8000" />
</asp:SiteMapPath>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
</div>
<div id="txt">

<asp:DataList ID="DataList1" runat="server">
<FooterTemplate>
<table style="width:100%;">
<tr>
<td class="style1">
<asp:Button ID="Button1" runat="server" Text="提交" onclick="Button1_Click" />
</td>
<td>
<asp:Button ID="Button2" runat="server" Text="查看" onclick="Button2_Click" />
</td>
</tr>
</table>
</FooterTemplate>
<ItemTemplate>
<table style="width:100%;">
<tr>
<td>
<%# Eval("Title") %></td>
</tr>
</table>
<table style="width:100%;">
<tr>
<td class="style1" rowspan="4">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" Width="35px">
<asp:ListItem>A</asp:ListItem>
<asp:ListItem>B</asp:ListItem>
<asp:ListItem>C</asp:ListItem>
<asp:ListItem>D</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<%# Eval("A") %></td>
</tr>
<tr>
<td>
<%# Eval("B") %></td>
</tr>
<tr>
<td>
<%# Eval("C") %></td>
</tr>
<tr>
<td>
<%# Eval("D") %></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>

</div>
</asp:Content>

代码如下:
using System;
using System.Collections;
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.OleDb;

public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("App_Data/hqpx.mdb");
conn.Open();
OleDbDataAdapter oa1 = new OleDbDataAdapter("select Title,A,B,C,D from Survey", conn);
DataTable dt1 = new DataTable();
oa1.Fill(dt1);
DataList1.DataSource = dt1;
DataList1.DataBind();
conn.Close();

}




protected void Button1_Click(object sender, EventArgs e)
{

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("App_Data/hqpx.mdb");
conn.Open();
RadioButtonList list = new RadioButtonList();
list.Items[0].Value = "A";
list.Items[1].Value = "B";
list.Items[2].Value = "C";
list.Items[3].Value = "D";

for (int i = 0; i < DataList1.Items.Count; i++)
{

OleDbCommand cmd1 = new OleDbCommand("select A,B,C,D from Count where id=" + (i + 1) + "", conn);
OleDbDataReader read = cmd1.ExecuteReader();


if (list.SelectedValue == "A")
{
int cnt = read.GetInt32(3);
OleDbCommand cmdA = new OleDbCommand("update Count set A=" + (cnt + 1) + "", conn);
cmdA.ExecuteNonQuery();

}
else if (list.SelectedValue == "B")
{
int cnt = read.GetInt32(4);
OleDbCommand cmdB = new OleDbCommand("update Count set B=" + (cnt + 1) + "", conn);
cmdB.ExecuteNonQuery();
}
else if (list.SelectedValue == "C")
{
int cnt = read.GetInt32(5);
OleDbCommand cmdC = new OleDbCommand("update Count set C=" + (cnt + 1) + "", conn);
cmdC.ExecuteNonQuery();
}
else if (list.SelectedValue == "D")
{
int cnt = read.GetInt32(6);
OleDbCommand cmdD = new OleDbCommand("update Count set D=" + (cnt + 1) + "", conn);
cmdD.ExecuteNonQuery();
}
}


}

protected void Button2_Click(object sender, EventArgs e)
{

}
}
...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingshungames 2010-02-27
  • 打赏
  • 举报
回复

RadioButtonList list = new RadioButtonList();
list.Items[0].Value = "A";
list.Items[1].Value = "B";
list.Items[2].Value = "C";
list.Items[3].Value = "D";


这个和

<asp:RadioButtonList ID="RadioButtonList1" runat="server" Width="35px">
<asp:ListItem>A</asp:ListItem>
<asp:ListItem>B</asp:ListItem>
<asp:ListItem>C</asp:ListItem>
<asp:ListItem>D</asp:ListItem>
</asp:RadioButtonList>


就不是一个下拉框吧?怎么能根据list的value操纵数据库呢?

还有就是数目加1的话,直接update Count set A=A+1就ok了吧?还用这么麻烦?看着都晕啊
第一部分 构建ASP.NET页面 第1章 ASP.NET Framework概览 2 1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解和处理控件事件 12 1.2.4 视图状态 17 1.3 ASP.NET页面 20 1.3.1 动态编译 20 1.3.2 控件树 23 1.3.3 使用代码隐藏页面 24 1.3.4 处理页面事件 27 1.3.5 使用Page.IsPostBack属性 29 1.3.6 调试和跟踪ASP.NET页面 30 1.3.7 跟踪页面执行 33 1.4 安装ASP.NET Framework 35 1.5 小结 37 第2章 使用标准控件 38 2.1 显示信息 38 2.1.1 使用Label控件 38 2.1.2 使用Literal控件 42 2.2 接收用户输入 44 2.2.1 使用TextBox控件 44 2.2.2 使用CheckBox控件 50 2.2.3 使用RadioButton控件 52 2.3 提交表单数据 55 2.3.1 使用Button控件 55 2.3.2 使用LinkButton控件 57 2.3.3 使用ImageButton控件 59 2.3.4 Button控件使用客户端脚本 62 2.3.5 执行跨页面发送 64 2.3.6 指定默认按钮 67 2.3.7 处理Command事件 68 2.4 显示图像 70 2.4.1 使用Image控件 70 2.4.2 使用ImageMap控件 71 2.5 使用Panel控件 75 2.6 使用HyperLink控件 79 2.7 小结 81 第3章 使用验证控件 82 3.1 验证控件概述 82 3.1.1 验证控件与JavaScript 85 3.1.2 使用Page.IsValid 85 3.1.3 设置Display属性 86 3.1.4 突出显示验证错误 86 3.1.5 使用验证组 90 3.1.6 禁用验证 93 3.2 使用RequiredFieldValidator控件 94 3.3 使用RangeValidator控件 97 3.4 使用CompareValidator控件 99 3.5 使用RegularExpressionValidator控件 103 3.6 使用CustomValidator控件 105 3.7 使用ValidationSummary控件 111 3.8 创建自定义验证控件 114 3.8.1 创建LengthValidator控件 115 3.8.2 创建AjaxValidator控件 117 3.9 小结 121 第4章 使用Rich控件 122 4.1 接收上传文件 122 4.1.1 把文件保存到文件系统 123 4.1.2 把文件保存到数据库 125 4.1.3 上传大文件 128 4.2 显示日历 133 4.2.1 创建弹出式日期选择器 135 4.2.2 根据数据库表呈现日历 137 4.3 显示广告 141 4.3.1 在XML文件中保存广告 141 4.3.2 在数据库表中存储广告 144 4.3.3 跟踪显示和转到 145 4.4 显示不同的页面视图 149 4.4.1 显示选项卡式页面视图 149 4.4.2 显示多部分表单 152 4.5 显示向导 153 4.6 小结 157 第二部分 设计ASP.NET网站 第5章 使用母版页设计网站 160 5.1 创建母版页 160 5.1.1 创建默认内容 163 5.1.2 嵌套母版页 166 5.1.3 在母版页中使用图片和超链接 170 5.1.4 在Web配置文件中注册母版页 172 5.2 修改母版页内容 172 5.2.1 使用Title属性 173 5.
教学内容: 一、Web Form网页的构成 二、ASP.NET程序的处理过程 三、ASP.NET事件及其处理程序 四、Page 类的常用属性 五、Page 类的常用方法 六、Page 类的常用事件 教学目标: — 了解Web Form网页的构成; — 理解ASP.NET程序的处理过程; — 理解网页和控件的事件; — 掌握处理程序的编写方法; — 了解Page类. 前言 第一讲 ASP.NET程序特性 一、Web Form网页的构成 二、ASP.NET程序的处理过程 三、事件及其处理程序 四、Page 类的常用属性 五、Page 类的常用方法 六、Page 类的常用事件 第二讲 HTML和脚本 一、HTML标记 二、HTML语法 三、JavaScript脚本 第三讲 ADO.NET数据库访问技术 一、什么是ADO.NET 二、管理提供者类 三、一般性数据类 四、常用类的属性和方法 五、访问数据库的前期准备 六、连接数据库 第四讲 登录和注册页面设计 一、控件概述 二、登录页面和注册页面 三、Label控件 四、TextBox控件 五、Button控件 六、登录页面设计 七、注册页面设计 第五讲 信息浏览页面设计 一、信息浏览页面 二、DropDownList控件 三、ListBox控件 四、Image控件 五、信息浏览页面设计 第六讲 信息收集页面设计 一、信息收集页面 二、CheckBox控件 三、CheckBoxList控件 四、RadioButton控件 五、RadioButtonList控件 六、信息收集页面设计 第七讲 数据验证 一、数据验证概述 二、非空字段验证 三、类型验证和比较验证 四、数据范围验证 五、正则表达式验证 第八讲 Repeater控件应用 一、模板概述 二、项模板 三、交替项模板 四、分隔模板 五、页眉和页脚模板 第九讲 DataList控件应用之一 一、DataList控件 二、模板编辑器 三、属性生成器 四、应用举例 第十讲 DataList控件应用之二 一、选择数据 二、编辑数据 三、删除数据记录 四、分页显示 五、应用举例 第十一讲 DataGrid控件应用之一 一、DataGrid控件概述 二、数据字段列设计 三、超级链接列设计 四、按钮列设计 五、应用举例 第十二讲 DataGrid控件应用之二 一、编辑列和删除列 二、模板列设计 三、分页功能 四、应用举例 第十三讲 多网页项目 一、向项目中添加网页 二、页面间的跳转 三、使用查询字符串 四、添加网页属性 第十四讲 ASP.NET内部对象 一、内部对象概述 二、状态管理和ViewState 三、Application对象 四、Session对象 五、Server对象 第十五讲 TreeView控件应用 一、初步使用TreeView控件 二、动态添加和删除节点 三、从XML文件读取节点数据 四、TreeView控件应用举例

62,039

社区成员

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

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

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

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