2016-04-12 3 views
0

У меня есть RadioButtonList & Listvie на моей странице. Я использую панель обновления, чтобы избежать обратной передачи. Теперь мой radioButtonList работает как фильтр для listview. Моя проблема в моем radobuttonList. Мне нужно использовать clientIDmode = static, но если я это сделаю, то моя панель обновления не будет использоваться, так как полная пересылка по почте будет изменена, когда изменится radobuttonList. Как решить эту проблему без удаления clientIdmode = static. Я видел какое-то решение для такого же поста, но на самом деле не понял. Пожалуйста, помогите мне.clientidmode static не работает с updatepanel, который заставляет полную postback

Мой код имеет нижеследующую структуру.

<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> 
+0

Просто любопытно: почему вы "должны использовать" 'ClientIDMode = "Static"'? – ConnorsFan

+0

@ConnorsFan, потому что у меня есть radioButtonList в переключении, и если я не использую clientIDMde = static, чем функция переключения не работает, потому что идентификатор изменяется при загрузке страницы –

ответ

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> 
0

Вы можете установить ClientIDMode в RadioButtonList к AutoID (или не указать атрибут в разметке, если это значение по умолчанию) и использовать выражение привязки в коде клиента, чтобы получить фактический идентификатор элемента управления:

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

или

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