clientidmode static不能与updatepanel一起使用强制完全回发

时间:2016-04-12 09:28:06

标签: asp.net vb.net updatepanel

我有RadioButtonList& Listvie在我的页面中。我正在使用更新面板以避免回发现在我的radioButtonList用作listview的过滤器。我的问题是在我的radiobuttonList中我必须使用clientIDmode = static但是如果我这样做那么我的updatepanel没有用,因为当radiobuttonList被更改时有完整的回发。如何在不删除clientIdmode = static的情况下解决此问题。我看到一些同样的帖子的解决方案,但真的不明白。请帮帮我。

我的代码有以下结构。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:RadioButtonList ID="areasList" CssClass="mark" AutoPostBack="true" runat="server" ClientIDMode="static" RepeatLayout="Flow">
</asp:RadioButtonList>
ListviewHere
</ContentTemplate>
</asp:UpdatePanel> 

2 个答案:

答案 0 :(得分:0)

您可以将RadioButtonList的ClientIDMode设置为AutoID(如果这是默认值,则不在标记中指定属性)并在客户端代码中使用绑定表达式来获取实际ID控制:

$("#<%= areasList.ClientID %>")

document.getElementById('<%= areasList.ClientID %>')

答案 1 :(得分:0)

您的脚本存在问题。

回发后没有调用脚本。

所以使用如下,

<script type="text/javascript">
    // below will execute after ajax postback
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, args) {
        //script
    }

    // executes after page load first time

    //script

</script>