网格视图控件内的单选按钮未触发 oncheckedchanged 事件
Radio Button inside grid view control not firing oncheckedchanged event
我的应用程序中有以下代码我有一个网格视图控件插入我的网格视图我有单选按钮定义为 templetefield。
<asp:View ID="View3" runat="server">
<script type = "text/javascript">
function RadioCheck(rb) {
var gv = document.getElementById("<%=grdAllPartsRequestList.ClientID%>");
var rbs = gv.getElementsByTagName("input");
var row = rb.parentNode.parentNode;
for (var i = 0; i < rbs.length; i++) {
if (rbs[i].type == "radio") {
if (rbs[i].checked && rbs[i] != rb) {
rbs[i].checked = false;
break;
}
}
}
}
</script>
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="rbSelected" runat="server" AutoPostBack="True"
oncheckedchanged="rbSelected_CheckedChanged" GroupName="RequestSelection" onclick="RadioCheck(this);" />
<asp:HiddenField ID="HiddenField1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</<asp:View>
.CS 背后的代码
protected void rbSelected_CheckedChanged(object sender, EventArgs e)
{
}
现在我的问题出在 运行 我的页面上,当我单击单选按钮时事件没有触发。 oncheckedchanged
没有开火。
令人惊讶的是,同样的功能在网格视图中的另一个页面中运行良好。
我在网上搜索了这个答案。但到目前为止,没有任何结果。我的母版页中有更新面板。我尝试使用 UpdateMode="Always"
和 ChildrenAsTriggers="true"
,但到目前为止还没有解决,请帮忙!
试试这个,
void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
Radiobutton rb = e.Row.FindControl("rbSelected") as Radiobutton;
rb.oncheckedchanged += this.rbSelected_CheckedChanged;
}
}
该事件将添加到 GridView 的 rowdatabound 事件的单选按钮...
希望对您有所帮助...
我的应用程序中有以下代码我有一个网格视图控件插入我的网格视图我有单选按钮定义为 templetefield。
<asp:View ID="View3" runat="server">
<script type = "text/javascript">
function RadioCheck(rb) {
var gv = document.getElementById("<%=grdAllPartsRequestList.ClientID%>");
var rbs = gv.getElementsByTagName("input");
var row = rb.parentNode.parentNode;
for (var i = 0; i < rbs.length; i++) {
if (rbs[i].type == "radio") {
if (rbs[i].checked && rbs[i] != rb) {
rbs[i].checked = false;
break;
}
}
}
}
</script>
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="rbSelected" runat="server" AutoPostBack="True"
oncheckedchanged="rbSelected_CheckedChanged" GroupName="RequestSelection" onclick="RadioCheck(this);" />
<asp:HiddenField ID="HiddenField1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</<asp:View>
.CS 背后的代码
protected void rbSelected_CheckedChanged(object sender, EventArgs e)
{
}
现在我的问题出在 运行 我的页面上,当我单击单选按钮时事件没有触发。 oncheckedchanged
没有开火。
令人惊讶的是,同样的功能在网格视图中的另一个页面中运行良好。
我在网上搜索了这个答案。但到目前为止,没有任何结果。我的母版页中有更新面板。我尝试使用 UpdateMode="Always"
和 ChildrenAsTriggers="true"
,但到目前为止还没有解决,请帮忙!
试试这个,
void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
Radiobutton rb = e.Row.FindControl("rbSelected") as Radiobutton;
rb.oncheckedchanged += this.rbSelected_CheckedChanged;
}
}
该事件将添加到 GridView 的 rowdatabound 事件的单选按钮...
希望对您有所帮助...