ASP.NET 服务器未将页面重新发送到 C# WebMethod上的客户端
本文关键字:WebMethod 客户端 新发送 服务器 NET ASP | 更新日期: 2023-09-27 18:33:45
我正在使用 RadioButtonList 的 ASP 控件,如下所示,以使用所选单选按钮的值来执行一些操作。调用代码完成后,服务器似乎将页面重新发送回客户端,因为客户端能够在我所做的任何修改的"新"页面和上一页之间导航。
<asp:RadioButtonList ID="RadioListID" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="RadioListID_SelectedIndexChanged">
<asp:ListItem id="OneDayRadioBtn" runat="server" Value="1-Day" />
<asp:ListItem id="TwoDayRadioBtn" runat="server" Value="2-Day" />
</asp:RadioButtonList>
我不得不切换到常规无线电输入并以这种方式实现它们:
<body> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"
EnablePartialRendering="true" />
<!-- Other Stuff -->
<input type="radio" name="radioList" checked onchange="OneDayChecked()"> 1-Day
<input type="radio" name="radioList" onchange="ThreeDayChecked()"> 3-Days
。
<script type="text/javascript">
function OneDayChecked() {
alert("We do get inside!");
PageMethods.setTimeFilter(1);
}
。返回服务器
[WebMethod]
public static void setTimeFilter(int filterIndex)
{
//my code to change text on the client aspx page
}
执行 WebMethod 后,客户端页面保持不变。如何让服务器将页面重新发送到客户端?或者我可以做些什么来更新客户端?我已经尝试通过元数据刷新客户端:<meta http-equiv="refresh" content="10">
.我猜有一个服务器端解决方案,但不确定
你在这里做的是对服务器的AJAX(异步)调用。这不会更新您的页面,这正是此处所期望的。Ajax 调用在后台完成,它们不会影响客户端.
如果你想用页面方法做到这一点,那么你需要从中返回一些东西,在你的Javascript代码中捕获该结果,然后在客户端操作html。