【发布时间】:2014-03-05 08:57:43
【问题描述】:
我在Panel 中有一个radioButtonList。该面板使用UpdatePanel 更新其面板。
<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>
更新面板每 5 秒刷新一次,这是由 Javascript 函数触发的(我知道 System.Class.UI 有计时器,但由于某种原因我必须使用 JS 函数)。这是刷新功能:
function refresh() {
//update teacher panel
__doPostBack('<%=upnlTeacherDismissal.UniqueID%>', '');
}
setInterval(refresh, 5000);
当doPostBack 在后面的代码中,我想将单选按钮的值设置为数据库中的更新值,但 UI 没有任何变化(单选按钮的值仍然是 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 已设置为 data.statusID 的值(比如说 5)。但是 UI 中单选按钮的值仍然等于 1(而不是 5)。 出了什么问题,我该怎么办?
【问题讨论】:
标签: c# javascript jquery asp.net updatepanel