0

我正在为 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">. 我猜有一个服务器端解决方案,但不确定

4

1 回答 1

0

您在这里所做的是对服务器的 AJAX(异步)调用。这不会更新您的页面,而这正是这里所期望的。Ajax 调用在后台完成,不会影响客户端。
如果你想用 Page Method 来做,那么你需要从中返回一些东西,在你的 Javascript 代码中捕获结果,然后在客户端操作 html。

于 2013-10-03T22:20:09.327 回答