<FooterStyle BackColor="#990000" Font-Bold="true" ForeColor="white" />
<Columns>
<asp:BoundField DataField="VoteID" HeaderText="VoteID" ReadOnly="true" SortExpression="VoteID" />
<asp:BoundField DataField="item" HeaderText="项目名" SortExpression="item" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox runat="server" id="cbxID" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" HorizontalAlign="center" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$appSettings:SqlConnnectionString %>" SelectCommand="Select VoteID,Item From Votes"></asp:SqlDataSource>
<br />
<asp:Button ID="btnVote_Click" runat="server" OnClick="btnVote_Click_Click" Text="我要投票" />
-------------------------这是前后GridView的代码。。
---------------------------------
protected void btnVote_Click_Click(object sender, EventArgs e)
{
try
{
// web Web = new web();
foreach (GridViewRow item in GridView1.Rows)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(GridView1.DataKeys[item.RowIndex].ToString());
Response.Write("ID" + ID + "<br>");
}
}
}
catch(Exception ex)
{
Response.Write("asdf");
}
}
-----------------------这是获取CheckBox的值的代码。。为什么没法获取到呢。
在GridView里面如果用<asp:CheckBoxFields>可以把ID值与它绑定吗?
7 个解决方案
#1
CheckBox的Text属性可以绑定一个字段,但往往绑定显示的文本,绑定ID的话显示一个数字感觉不舒服。一般要绑定ID且不让ID显示的话,可以在模板中再放一个HiddenField,它的Value属性绑定ID。
#2
CheckBox check = item.FindControl("cbxID") as CheckBox;
#3
嗯。现在是想当选择多选框时点击“我要投票”的按钮,后台获取选中的复选框的值。以便对相应的记录加1..
#4
foreach (GridViewItem item in GridView1.Items)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(e.cell[0].Text);
Response.Write("ID" + ID + "<br>");
}
}
}
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(e.cell[0].Text);
Response.Write("ID" + ID + "<br>");
}
}
}
#5
这是一个投票的题目哦。。以上的方法好像还是不行。点击“我要投票”时还是显示“asdf”。
#6
btnVote_Click_Click(object sender, EventArgs e)
你这个方法里本来就没有写取到ID后更新的方法啊,你的问题问的是取不到CKECKBOX的值啊
你这个方法里本来就没有写取到ID后更新的方法啊,你的问题问的是取不到CKECKBOX的值啊
#7
是的,.aspx文件里面放了一个GridView,通过选择复选框来对几个项目进行投票,在aspx.cs里面是用
protected void btnVote_Click_Click(object sender, EventArgs e)
{
try
{
// web Web = new web();
foreach (GridViewRow item in GridView1.Rows)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(GridView1.DataKeys[item.RowIndex].ToString());
Response.Write("ID" + ID + "<br/>");
}
}
}
catch(Exception ex)
{
Response.Write("asdf");
}
}
来处理的。可点击“我的投票”按钮时,页面上显示asdf。。说明有错误的,这要怎么处理呀。。
protected void btnVote_Click_Click(object sender, EventArgs e)
{
try
{
// web Web = new web();
foreach (GridViewRow item in GridView1.Rows)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(GridView1.DataKeys[item.RowIndex].ToString());
Response.Write("ID" + ID + "<br/>");
}
}
}
catch(Exception ex)
{
Response.Write("asdf");
}
}
来处理的。可点击“我的投票”按钮时,页面上显示asdf。。说明有错误的,这要怎么处理呀。。
#1
CheckBox的Text属性可以绑定一个字段,但往往绑定显示的文本,绑定ID的话显示一个数字感觉不舒服。一般要绑定ID且不让ID显示的话,可以在模板中再放一个HiddenField,它的Value属性绑定ID。
#2
CheckBox check = item.FindControl("cbxID") as CheckBox;
#3
嗯。现在是想当选择多选框时点击“我要投票”的按钮,后台获取选中的复选框的值。以便对相应的记录加1..
#4
foreach (GridViewItem item in GridView1.Items)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(e.cell[0].Text);
Response.Write("ID" + ID + "<br>");
}
}
}
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(e.cell[0].Text);
Response.Write("ID" + ID + "<br>");
}
}
}
#5
这是一个投票的题目哦。。以上的方法好像还是不行。点击“我要投票”时还是显示“asdf”。
#6
btnVote_Click_Click(object sender, EventArgs e)
你这个方法里本来就没有写取到ID后更新的方法啊,你的问题问的是取不到CKECKBOX的值啊
你这个方法里本来就没有写取到ID后更新的方法啊,你的问题问的是取不到CKECKBOX的值啊
#7
是的,.aspx文件里面放了一个GridView,通过选择复选框来对几个项目进行投票,在aspx.cs里面是用
protected void btnVote_Click_Click(object sender, EventArgs e)
{
try
{
// web Web = new web();
foreach (GridViewRow item in GridView1.Rows)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(GridView1.DataKeys[item.RowIndex].ToString());
Response.Write("ID" + ID + "<br/>");
}
}
}
catch(Exception ex)
{
Response.Write("asdf");
}
}
来处理的。可点击“我的投票”按钮时,页面上显示asdf。。说明有错误的,这要怎么处理呀。。
protected void btnVote_Click_Click(object sender, EventArgs e)
{
try
{
// web Web = new web();
foreach (GridViewRow item in GridView1.Rows)
{
CheckBox check = (CheckBox)item.FindControl("cbxID");
if (check != null && check.Checked == true)
{
int ID = Int32.Parse(GridView1.DataKeys[item.RowIndex].ToString());
Response.Write("ID" + ID + "<br/>");
}
}
}
catch(Exception ex)
{
Response.Write("asdf");
}
}
来处理的。可点击“我的投票”按钮时,页面上显示asdf。。说明有错误的,这要怎么处理呀。。