为实现学生对老师的教学质量调查,发动学生对教师网上投票!一个学生可以对该班级的所有老师投票,两个选项满意或是不满意
我投票的数据表设计为
id 老师姓名 班级 任课课目 满意 不满意
1 张三 三(A) 语文 0 0
.
.
.
首先学生登陆,登陆后会依据学生班级自动列出该班所有老师的名字以及选项,如下:
<asp:repeater>
张三 三(A) 语文 (radiobutton)满意 (radiobutton)不满意
.
.
</repeater>
<asp:button>我要投票</button>
登陆的学生可以一次性给所有老师投票,然后点击“我要投票”按钮。
问题的重点:因为这个radiobutton是由数据绑定的时候自动生成的,如何在点击投票按钮以后可以获取每个分组的radiobbutton的值?因为点了投票按钮后要获取值并写回数据库就是这个过程怎么操作?
或者有高手直接给出代码的,高分谢!
我投票的数据表设计为
id 老师姓名 班级 任课课目 满意 不满意
1 张三 三(A) 语文 0 0
.
.
.
首先学生登陆,登陆后会依据学生班级自动列出该班所有老师的名字以及选项,如下:
<asp:repeater>
张三 三(A) 语文 (radiobutton)满意 (radiobutton)不满意
.
.
</repeater>
<asp:button>我要投票</button>
登陆的学生可以一次性给所有老师投票,然后点击“我要投票”按钮。
问题的重点:因为这个radiobutton是由数据绑定的时候自动生成的,如何在点击投票按钮以后可以获取每个分组的radiobbutton的值?因为点了投票按钮后要获取值并写回数据库就是这个过程怎么操作?
或者有高手直接给出代码的,高分谢!
应该跟gridview一样吧
循环读取每行
然后((radiobutton)repeater.findcontrol(“radiobutton的ID”)).checked //找到的控件要强制类型转换为radiobutton
以上是获得是否被选中
然后进行需要的操作
if (this.radiobutton.Checked == true)
{
a = "0"; }
else
{
b = "1";
}
可以这样 ??
用0或者1来区别
就是先判断是否选中 ....
楼上的就可以的。
楼上的就可以的。
就是这个样子,问题是每个老师的两个radiobutton是一组,因为这个radiobutton的id我在后台根本引用不出来
我查了有贴子说用html的radio,但是那样我也无法在后台控制!下面给了我写的一个代码:<body>
<form id="form1" runat="server" action="jyj_b12w12.aspx">
<div>
<asp:Repeater ID="rep_TeacherList" runat="server">
<HeaderTemplate>
<table style="width:600px; border:solid 1px #000;">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container.DataItem,"teachername") %></td>
<td><%#DataBinder.Eval(Container.DataItem,"subject") %></td>
<td><input type="radio" name="rd1" />满意</td>
<td><input type="radio" name="rd1" />不满意</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<table style="width:600px;">
<tr><td style="height: 24px; text-align:center;"><asp:Button ID="sumbit" Text="我要投票" runat="server" OnClick="sumbit_Click" /></td></tr>
</table>
</div>
</form>
</body>
<HEAD>
<title>WebForm6</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<table cellspacing="1" cellpadding="1" width="600" border="1" style="table-layout: fixed">
<tr>
<td width="100">教师</td>
<td width="100">老师姓名</td>
<td width="100">班级</td>
<td width="100">任课课目</td>
<td> </td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellspacing="1" cellpadding="1" width="600" border="1" style="table-layout: fixed">
<tr>
<td width="100">
<asp:Label id="Label1" runat="server">Label1</asp:Label></td>
<td width="100">
<asp:Label id="Label2" runat="server">Label2</asp:Label></td>
<td width="100">
<asp:Label id="Label3" runat="server">Label3</asp:Label></td>
<td width="100">
<asp:Label id="Label4" runat="server">Label4</asp:Label></td>
<td>
<asp:RadioButtonList id="rbtnApprove" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="1" Selected="True">满意</asp:ListItem>
<asp:ListItem Value="0">不满意</asp:ListItem>
</asp:RadioButtonList></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
<asp:Button id="btnSave" style="Z-INDEX: 101; LEFT: 520px; POSITION: absolute; TOP: 216px" runat="server"
Text="Save" Width="88px"></asp:Button>
</form>
</body>
</HTML>
<HEAD>
<title>WebForm6</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<table cellspacing="1" cellpadding="1" width="600" border="1" style="table-layout: fixed">
<tr>
<td width="100">教师</td>
<td width="100">老师姓名</td>
<td width="100">班级</td>
<td width="100">任课课目</td>
<td> </td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellspacing="1" cellpadding="1" width="600" border="1" style="table-layout: fixed">
<tr>
<td width="100">
<asp:Label id="Label1" runat="server">Label1</asp:Label></td>
<td width="100">
<asp:Label id="Label2" runat="server">Label2</asp:Label></td>
<td width="100">
<asp:Label id="Label3" runat="server">Label3</asp:Label></td>
<td width="100">
<asp:Label id="Label4" runat="server">Label4</asp:Label></td>
<td>
<asp:RadioButtonList id="rbtnApprove" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="1" Selected="True">满意</asp:ListItem>
<asp:ListItem Value="0">不满意</asp:ListItem>
</asp:RadioButtonList></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
<asp:Button id="btnSave" style="Z-INDEX: 101; LEFT: 520px; POSITION: absolute; TOP: 216px" runat="server"
Text="Save" Width="88px"></asp:Button>
</form>
</body>
</HTML>
cs code
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace TestWeb
{
/// <summary>
/// WebForm6 的摘要说明。
/// </summary>
public class WebForm6 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.RadioButtonList rbtnApprove;
protected System.Web.UI.WebControls.Button btnSave;
protected System.Web.UI.WebControls.Repeater Repeater1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void btnSave_Click(object sender, System.EventArgs e)
{
for (int i=0; i<this.Repeater1.Items.Count; i++)
{
RadioButtonList rbtn = this.Repeater1.Items[i].FindControl("rbtnApprove") as RadioButtonList;
//这里就开始存储你的代码
}
}
}
}
if (rbtn.SelectedValue == "1")
{
//满意
}
else
{
//不满意
}
<td > <input type="radio" name="rd1" / >不满意 </td > 你的runat=server呢?不是服务器控件,你后台当然取不到了
<td > <input type="radio" name="rd1" / >不满意 </td > 你的runat=server呢?不是服务器控件,你后台当然取不到了
你有QQ号吗?能不能加一下你,或者你加我,179002394
还是不行啊,比如我在你那里加了一行 //这里就开始存储你的代码
if (rbtn.SelectedValue == "1")
{
Response.Write(rbtn.SelectedValue.ToString()+"<br/>");
}
else
{
//不满意
}
结果不管我怎么选都还全部输出"1"
后台当然取不到了
把这些都加上,然后后台遍历items 并findcontrol
然后强制类型转换为radiobutton
就可以判断并进行其它操作了
你为你的radiobutton加一个相同name,这样就可以获得radiobutton的Checked属性了
if (rbtn.SelectedValue == "1")
{
Response.Write(rbtn.SelectedValue.ToString()+"<br/>");
}
else
{
//不满意
}
你只在等于1的时候才输出,这个时候如果输出的不是1,那我们还怎么写代码啊?