asp.net Refresh base page from iframe

2020-07-22 09:58发布

问题:

I have page with other asp.net page inside iframe.

And on button click inside iframe i need to refresh main page from server side.

How can it?

回答1:

Make use of javascript and you can easily do it

call the following function on your button click

<script language="javascript">
function RefreshParent()
{
window.parent.location.href = window.parent.location.href;
}
</script>

From the cs code if you are opening the aspx page in the iframe

Page.RegisterStartupScript("RefreshParent","<script
language='javascript'>RefreshParent()</script>");


回答2:

Its explained very well in the following links:

link 1

link 2

Hope it helps.



回答3:

For some reason the javascript function shown in earlier answers did not work for me (although the function was called). However, this worked for me:

    function RefreshParent()
    {
        // Was: window.parent.location.href = window.parent.location.href;
        parent.location.reload(); 
    }

I had to add it near the start of my HTML (near the end of the HTML didn't work, as it was not yet rendered).

I used this C# code to call it, which is based on earlier answers but updated to use the current API which has an extra initial paramter, "type":

ClientScript.RegisterStartupScript(this.GetType(), "RefreshParent", "<script language='javascript'>RefreshParent()</script>");