引导单选按钮 UI 导致 ASP.NET 回发不触发

Posted

技术标签:

【中文标题】引导单选按钮 UI 导致 ASP.NET 回发不触发【英文标题】:Bootstrap RadioButton UI causing ASP.NET postback to not fire 【发布时间】:2015-06-06 20:07:23 【问题描述】:

有点远,所以更新:

使用 bootstrap 作为 UI,有一组由 bootstrap 设置样式的单选按钮:

 <div id="radio-group-follow" class="btn-group" data-toggle="buttons">
    <asp:RadioButton GroupName="myGroup1" OnCheckedChanged="Radio1_CheckedChanged"
     AutoPostBack="true" ID="Radio1" runat="server" Checked="False"
     CssClass="btn btn-default" Text="1"></asp:RadioButton>
</div>

所以通常情况下,上面的代码应该自己触发回发。 Bootstrap 使用 DIV 包装按钮,从而阻止回发。

以下 JS 将回发 1 个帖子,但只能工作一次...

$(function () 
$("#<%=Radio1.ClientID%>").change(function (event) 
         __doPostBack('Radio1', '');
     );

【问题讨论】:

我不相信“ifToggled”是 jquery 中的事件。您可能希望查看此答案以检查单选按钮是否已选中,***.com/questions/6654601/… 我也尝试过使用 .change,但它仍然无法登录到控制台。值得注意的是,如果我检查元素并将单选按钮设置为 display:inline 而不是 none,然后单击单选按钮,那么它可以工作。有没有办法选择引导生成的 我从您的代码中假设它触发了一次。所以,回发后你的函数没有初始化。所以,您需要再次注册更改事件......这可能会起作用! 【参考方案1】:

回发后,您的脚本消失或未触发。

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(recalc);
function recalc() 
 ...do your stuff...

【讨论】:

以上是关于引导单选按钮 UI 导致 ASP.NET 回发不触发的主要内容,如果未能解决你的问题,请参考以下文章

带有 ASP.NET 按钮回发的 jQuery UI 对话框

使 asp.net 单选按钮列表显示为引导按钮组

使用 javascript 禁用 asp.net 单选按钮

asp.net 引导警报自动关闭

ASP.NET 用户控件性能增强

asp .net背景图像在回发时闪烁