简体   繁体   中英

asp.net Refresh base page from iframe

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?

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>");

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>");

Its explained very well in the following links:

link 1

link 2

Hope it helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM