gpt4 book ai didi

c# - RadioButtonList 在 doPostBack 之后不会更改 - ASP.NET JS C#

转载 作者:行者123 更新时间:2023-11-28 01:30:22 26 4
gpt4 key购买 nike

我在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)。出了什么问题,我应该做什么?

最佳答案

它非常适合我,你缺少我编辑过的东西并替换它

<asp:UpdatePanel ID="upnlTeacherDismissal" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Panel ID="pnlDismissalTeacher" runat="server" style="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>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>

在服务器端

protected void rbtnStatusDismissal_OnSelectedIndexChanged(object sender, EventArgs e)
{
rbtnStatusDismissal.SelectedValue = "5";
upnlTeacherDismissal.Update();
}

还有这个js函数

<script type="text/javascript">
function refresh() {
//update teacher panel
__doPostBack('<%=upnlTeacherDismissal.UniqueID%>', '');
}

setInterval(refresh, 5000);
</script>

如果您有任何问题且得不到答复,请在评论中提问。

关于c# - RadioButtonList 在 doPostBack 之后不会更改 - ASP.NET JS C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22192866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com