Ajax面板(怎么做)

1.RadAjaxPanel 之间的交互

处理来自一个RadAjaxPanel的 AJAX 请求,以及如何更新的RadAjaxPanel发起 AJAX 请求。

//.net
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
            <%-- 面板一,包含一个按钮,一个标签,一个文本框 --%>
            <h3>Panel1</h3>
            <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
                <asp:Button ID="btnIncrease" OnClick="btnIncrease_Click" Text="增加" runat="server"/>
                <asp:Label ID="Lable1" runat="server">0</asp:Label>
                <asp:TextBox ID="TextBox1" Text="0" runat="server"></asp:TextBox>
            </telerik:RadAjaxPanel>
            <%-- 面板二,包含内容同上 --%>
            <h3>Panel2</h3>
            <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server">
                <asp:Button ID="btnDecrease" OnClick="btnDecrease_Click" Text="减少" runat="server"/>
                <asp:Label ID="Lable2" runat="server">0</asp:Label>
                <asp:TextBox ID="TextBox2" Text="0" runat="server"></asp:TextBox>
            </telerik:RadAjaxPanel>

//c#
protected void Page_PreRender(object sender, EventArgs e)
{
            if (RadAjaxPanel1.IsAjaxRequest || RadAjaxPanel2.IsAjaxRequest)
            {
                TextBox1.Text = Label1.Text = TextBox2.Text = Label2.Text = Count.ToString();
            }
}
public int Count
{
            get
            {
                return this.ViewState["Count"] == null ? 0 : (int)this.ViewState["Count"];
            }
            set
            {
                this.ViewState["Count"] = value;
            }
}
protected void btnIncrease_Click(object sender, System.EventArgs e)
{
            Count++;
            RadAjaxPanel1.ResponseScripts.Add(String.Format("$find('{0}').ajaxRequest();", RadAjaxPanel2.ClientID));
}
protected void btnDecrease_Click(object sender, System.EventArgs e)
{
            Count--;
            RadAjaxPanel2.ResponseScripts.Add(String.Format("$find('{0}').ajaxRequest();", RadAjaxPanel1.ClientID));
}  

2.重定向到新页面

从服务器重定向到新页面有两种基本类型:

  • Response.Redirect() - 标准的 ASP.NET 重定向方法。

  • 生成设置window.location.href的 JavaScript 。

如果Response.Redirect()对您不起作用(例如,如果在部分渲染期间调用),您可以通过andRadAjaxControl.Redirect()公开的服务器方法使用脚本生成方法。RadAjaxManagerRadAjaxPanel

使用RadAjaxManager Redirect()

RadAjaxManager1.Redirect("http://www.google.com/");
//or
RadAjaxManager.GetCurrent(Page).Redirect("http://www.google.com/");

使用RadAjaxPanel Redirect()

RadAjaxPanel1.Redirect("http://www.google.com/");

3.AJAX 更新后执行自定义 Javascript 代码

使用RadAjaxPanelRadAjaxManager的
ResponseScripts属性。

//单击 Button 时弹出警报
RadAjaxPanel1.ResponseScripts.Add(string.Format("alert('Hello from the server! Server time is {0}');", DateTime.Now.ToLongTimeString()));
//使用ScriptManager类的RegisterStartupScript静态方法
string script = string.Format("alert('Hello from the server! Server time is {0}');", DateTime.Now.ToLongTimeString());
ScriptManager.RegisterStartupScript(Page, typeof(Page), "myscript", script, true);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值