Panel
안에 radioButtonList
이 있습니다. 패널은 UpdatePanel
을 사용하여 패널을 업데이트합니다.doPostBack 후 RadioButtonList가 변경되지 않습니다 - ASP.NET JS C#
<asp:UpdatePanel ID="upnlTeacherDismissal" runat="server" UpdateMode="Conditional" OnLoad="tmrRefreshTeacher_OnTick">
<asp:Panel ID="pnlDismissalTeacher" runat="server"; color:White; width:100%;">
<asp:RadioButtonList ID="rbtnStatusDismissal" AutoPostBack="true"
runat="server" RepeatDirection="Horizontal" OnSelectedIndexChanged="rbtnStatusDismissal_OnSelectedIndexChanged" >
<asp:ListItem ID="id1" Text="In Class" Value="1" />
<asp:ListItem ID="id2" Text="Dismiss" Value="4" />
<asp:ListItem ID="id3" Text="Field Trip" Value="5" />
</asp:RadioButtonList>
는 updatepanel은 자바 스크립트 기능에 의해 trigerred되어 5 초마다 (나는 타이머가 System.Class.UI
에서하지만 난 JS 기능을 사용 할 어떤 이유도 알고) 새로 고칩니다. 다음은 새로 고침 기능입니다 :
function refresh() {
//update teacher panel
__doPostBack('<%=upnlTeacherDismissal.UniqueID%>', '');
}
setInterval(refresh, 5000);
코드 뒤에, 나는 데이터베이스에서 업데이트 된 값으로 라디오 버튼 값을 설정할 그러나 UI의 변경에는 없다에 doPostBack
이 (라디오 버튼 값이 여전히 1). 프로그램은이 기능을 매 5 초마다 실행합니다 (rbtnStatusDismissal_OnSelectedIndexChanged
에서가 아님).
protected void tmrRefreshTeacher_OnTick(object sender, EventArgs e)
{
//... few lines to check the database if table changes
rbtnStatusDismissal.SelectedValue = (int)data.statusID;
//let's say (int)data.statusID equals 5
upnlTeacherDismissal.Update();
}
나는 디버깅 시도하고 .SelectedValue이 (의 5 가정 해 봅시다)에 data.statusID의 값으로 설정되어있는 것을 볼했습니다. 그러나 UI의 라디오 버튼의 값은 여전히 (5 대신) 1과 같습니다. 무엇이 잘못되었으며 어떻게해야합니까?
물론 닫는 태그를 추가했지만 여전히 나를 위해 작동하지 않습니다. – user2393874
updatepanel에 콘텐츠 템플릿을 추가하고 업데이트 패널에서 onload를 제거 했습니까? @ user2393874 –
그래도 변경 사항이 없으므로 UI가 업데이트되지 않습니다. – user2393874