异步刷新内容页面?

时间:2011-04-17 10:56:53

标签: asp.net asp.net-ajax

我有一个母版页“PartialUpdate.Master”和2个简单的内容页面“WebForm1.aspx”和“WebForm2.aspx”

WebForm1.aspx / WebForm2.aspx:内容页面只显示其文件名

母版页“PartialUpdate.Master”有2个按钮和一个ContentPlaceHolder 在UpdatePanel中。点击按钮时,我想看到相应的内容页面

这就是它的样子......

PartialUpdate.Master:

<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
        Master Page  
        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" 
        runat="server">
            <ContentTemplate>
                <asp:Button ID="btnForm1" CommandArgument="WebForm1.aspx" 
                runat="server"  Text="Form1"                                    OnClick="ChangeForm_Click" />
               <asp:Button ID="btnForm2" CommandArgument="WebForm2.aspx" 
                runat="server" Text="Form2" 
                OnClick="ChangeForm_Click" />
                <hr />
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </ContentTemplate>
        <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btnForm1" 
                EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="btnForm2" 
                EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
    </div>
    </form>
</body>

PartialUpdate.Master.cs

背后的代码
    protected void ChangeForm_Click(object sender, EventArgs e)
    {
        Button btn = sender as Button;
        Response.Redirect(btn.CommandArgument);
    }

问题在于Response.Redirect()触发整页回发。 我只是希望Master以异步方式刷新位于'ContentPlaceHolder'中的内容(这就是我添加AJAX UpdatePanel的原因)

换句话说,我想动态更改主人显示whitout的内容页面,从而导致整页回发。

这可能吗?如果是这样的话?

谢谢你 克里斯

1 个答案:

答案 0 :(得分:0)

您可以在ajax调用中使用WebRequest进行调用,并将您收到的内容写入页面... 但是你不能“知道”你想要重定向到另一个页面而不回发的浏览器。