RadioButtonList事件OnSelectedIndexChanged不执行

l328823927 2012-08-15 10:17:50

<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<table style="text-align:left;width:800px">
<tr">
<asp:HiddenField ID="hf1" runat="server" Value='<%#Eval("题号")%>' />
<asp:HiddenField ID="hf2" runat="server" Value='<%#Eval("类型")%>' />
<asp:HiddenField ID="hf3" runat="server" Value='<%#Eval("题库")%>' />
<td style="width:10%"><h4><%#Eval("题号")%></h4></td>
<td style="width:90%"><h4><%#Eval("内容")%></h4></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td style="width:10%"></td>
<td style="width:90%">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" />
<asp:TextBox ID="TextBox3" runat="server" Visible="false" Width="90%"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width:10%"></td>
<td style="width:90%">
<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataTextField="内容" DataValueField="选项" />
<asp:TextBox ID="TextBox4" runat="server" Visible="false" Width="90%"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width:10%"></td>
<td style="width:90%">
<asp:BulletedList ID="BulletedList1" runat="server" DataTextField="内容" />
<asp:TextBox ID="TextBox2" runat="server" Width="98%" Visible="false"
onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/[^0-9^,]/g,'')}"/>
</td>
</tr>
<tr>
<td style="width:10%"><asp:Label ID="Label1" runat="server" Text="答案:" Visible="false"></asp:Label></td>
<td style="width:90%"><asp:TextBox ID="TextBox1" runat="server" Width="98%" Visible="false" TextMode="MultiLine"/></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>


protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
RadioButtonList rdol = sender as RadioButtonList;
if (rdol.SelectedIndex == rdol.Items.Count - 1)
{
for (int i = 0; i < Repeater1.Items.Count; i++)
{

}
}
}

我加断点了,可是他怎么也不进这个方法为什么?
在前面我已经加了AutoPostBack="true"了
帮忙找找原因
还有,我如何能直接找到他在Repeater中的位置?
...全文
451 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangdaowu5 2012-08-17
  • 打赏
  • 举报
回复
解决思路:
1.看看是否设置了AutoPostBack
2.看看你在repeater里面是否找到了RadioButtonList控件
3.回到页面邮件查看源文件看看页面是否有return false的脚本,他会阻止你的后台事件
4.是否是事件丢失,编译重新生成一下事件

一般都是这几个原因造成的,LZ你可以自己照着去排查一下,希望对你有所帮助、
l328823927 2012-08-17
  • 打赏
  • 举报
回复
问题找到了,不是上述问题!
原因是在他们下面有一个Button按钮 ID让我起名成submit了
qqworiniyan4 2012-08-16
  • 打赏
  • 举报
回复
楼主 你要是在repeater里写按钮事件的话 要用到repeater的一个事件(ItemCommand)在这个事件里 可以实现你所要实现的功能,比如你要找控件也会更方便。
  • 打赏
  • 举报
回复
设置radiobutton的AutoPostBack属性为True,表示回发~~~希望对你有帮助
gudujianxiao 2012-08-16
  • 打赏
  • 举报
回复
刚才用你的代码测试了,可以执行RadioButtonList1_SelectedIndexChanged 这个事件的。
haojielin2 2012-08-16
  • 打赏
  • 举报
回复
在Repeater1_ItemDataBound事件里先找控件用FindControl,然后在执行下面的方法
xmhxjjq 2012-08-15
  • 打赏
  • 举报
回复
repeater里面。 嗯 好样的。。
- - radiolist的onchang事件估计是不会触发到了。 触发到的应该是repeater的绑定事件。 LZ查看一下吧。
l328823927 2012-08-15
  • 打赏
  • 举报
回复

/// <summary>
/// 绑定单选题答案
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Topic topic = e.Item.DataItem as Topic;
switch (topic.类型)
{
case "单选":
RadioButtonList rpt1 = e.Item.FindControl("RadioButtonList1") as RadioButtonList;
TextBox txt3 = e.Item.FindControl("TextBox3") as TextBox;
rpt1.DataSource = topic.选项;
txt3.Visible = true;
rpt1.DataBind();
break;
case "多选":
CheckBoxList rpt2 = e.Item.FindControl("CheckBoxList1") as CheckBoxList;
TextBox txt4 = e.Item.FindControl("TextBox4") as TextBox;
rpt2.DataSource = topic.选项;
txt4.Visible = true;
rpt2.DataBind();
break;
case "排序":
BulletedList rpt3 = e.Item.FindControl("BulletedList1") as BulletedList;
TextBox txt2 = e.Item.FindControl("TextBox2") as TextBox;
rpt3.DataSource = topic.选项;
txt2.Visible = true;
rpt3.DataBind();
break;
default:
TextBox txt = e.Item.FindControl("TextBox1") as TextBox;
Label lbl = e.Item.FindControl("Label1") as Label;
txt.Visible = true;
lbl.Visible = true;
break;
}
}

我在这里绑定的!
EnableViewState="true"这句话也加了,就是不进去
蝶恋花雨 2012-08-15
  • 打赏
  • 举报
回复
在RowDataBound直接findcontrol就快速找到RadioButtonList 了
愚知 2012-08-15
  • 打赏
  • 举报
回复
刚才没看清楚 你已经设置了,查看 EnableViewState="true"是否设置?
[Quote=引用 2 楼 的回复:]

查看时间是否回发?
[/Quote]
愚知 2012-08-15
  • 打赏
  • 举报
回复
查看时间是否回发?
蝶恋花雨 2012-08-15
  • 打赏
  • 举报
回复
PAGELOAD里面绑定了吗?

62,046

社区成员

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

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

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

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