GridView中添加了RadioButton模板列,实现单选的同时能不能触发事件

肥胖的柠檬 2009-03-06 10:30:54
委托 没有触发,为什么呢?
参考:
GridView内的Button事件写法,RadioButton应该也没有问题:
http://blog.csdn.net/insus/archive/2008/02/27/2123970.aspx

http://topic.csdn.net/u/20080707/16/1ae2105b-845c-41b4-b790-67f81f056dd6.html




<asp:GridView ID="GvProList" runat="server" AutoGenerateColumns="False" OnRowCreated="GvProList_RowCreated" >
<Columns>

<asp:TemplateField HeaderText="5分">
<ItemTemplate>
<asp:RadioButton ID="RaBut5" AutoPostBack="true" runat="server"
GroupName='<%# DataBinder.Eval( Container.DataItem,"pfcID") %>' Text='<%# DataBinder.Eval(Container.DataItem, "5分")%>' />

</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>


protected void GvProList_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
RadioButton btn5 = (RadioButton)e.Row.FindControl("RaBut5");
btn5.CheckedChanged += new EventHandler(mySelfRadioCheckeChanged);
}
}



protected void mySelfRadioCheckeChanged(object sender, EventArgs e)
{
// 跟踪的时候,没有触发mySelfRadioCheckeChanged
}
...全文
831 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
肥胖的柠檬 2009-03-06
  • 打赏
  • 举报
回复
我晕死...我明白我错在那了
谢谢大家

回的都有分
三碗猪脚 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yeness 的回复:]
不用委托
直接切换到gridview编辑状态,双击radiobutton就可以添加事件
[/Quote]

正解,只需要判断一下是哪一行触发的
肥胖的柠檬 2009-03-06
  • 打赏
  • 举报
回复
if(e.Row.FindControl("RaBut5") != null)
{
RadioButton btn5 = (RadioButton)e.Row.FindControl("RaBut5");
btn5.CheckedChanged += new EventHandler(mySelfRadioCheckeChanged);
}

这个是找到的.


===========================================================

不用委托
直接切换到gridview编辑状态,双击radiobutton就可以添加事件

也没有触发..


=============================================================

RadioButton1.AutoPostBack = true; 该它的属性啊

<asp:RadioButton ID="RaBut5" AutoPostBack="true" runat="server"
GroupName=' <%# DataBinder.Eval( Container.DataItem,"pfcID") %>' Text=' <%# DataBinder.Eval(Container.DataItem, "5分")%>' />

以个以添加了啊.....



shenlong0125 2009-03-06
  • 打赏
  • 举报
回复
RadioButton1.AutoPostBack = true; 该它的属性啊
我姓区不姓区 2009-03-06
  • 打赏
  • 举报
回复
protected void mySelfRadioCheckeChanged(object sender, EventArgs e)
{
Response.Write("Hello");//看看点击RadioButton的时候有没有输出
}
xuan.ye 2009-03-06
  • 打赏
  • 举报
回复
不用委托
直接切换到gridview编辑状态,双击radiobutton就可以添加事件
Roc_Lee 2009-03-06
  • 打赏
  • 举报
回复

protected void GvProList_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if(e.Row.FindControl("RaBut5") != null)
{
RadioButton btn5 = (RadioButton)e.Row.FindControl("RaBut5");
btn5.CheckedChanged += new EventHandler(mySelfRadioCheckeChanged);
}
else
{
Page.RegisterStartupScript("abc", "<script language='javascript'>alert('找不到radio');</script>");
}
}
}


试试
怀疑是RaBut5没有找到
lonelySurvive 2009-03-06
  • 打赏
  • 举报
回复
不好意思,没看到你用的是委托,你直接在这底下加,试试
lonelySurvive 2009-03-06
  • 打赏
  • 举报
回复
<asp:RadioButton ID="RaBut5" AutoPostBack="true" runat="server"
GroupName=' <%# DataBinder.Eval( Container.DataItem,"pfcID") %>' Text=' <%# DataBinder.Eval(Container.DataItem, "5分")%>' />

你都没加这个事件,怎么可能触发?OnCheckedChanged="mySelfRadioCheckeChanged"
lonelySurvive 2009-03-06
  • 打赏
  • 举报
回复
OnCheckedChanged="mySelfRadioCheckeChanged"
CutBug 2009-03-06
  • 打赏
  • 举报
回复
设置AutoPostBack后才能引发CheckedChanged,
RadioButton1.AutoPostBack = true;
the_pain 2009-03-06
  • 打赏
  • 举报
回复

28.简单委托示例.
public delegate void test(string t1);

public void t1(string p1)
{
p1 = "t1";
Response.Write(p1);
Response.Write("\r\n");
}
public void t2(string p2)
{
p2 = "t2";
Response.Write(p2);
}
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
//声明
test delegateOjb;
//关联方法
delegateOjb = t1;
delegateOjb += t2;
//传参才触发。
delegateOjb("begin");

}

62,046

社区成员

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

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

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

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