0

当在页面上单击按钮时,我正在尝试更新 iFrame 的源。然而,似乎什么都没有发生……

.ASPX:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
        <ContentTemplate>
                <div class="accountInfo">
                    <p class="submitButton">
                        <asp:Button ID="ValidateButton" runat="server" Text="Validate" OnClick="SubmitSponsor" />
                    </p>
                </div>
                <iframe runat="server" id="PayPalFrame" height="150px" width="100%" frameborder="0"></iframe>
        </ContentTemplate>
    </asp:UpdatePanel>

代码背后:

    protected void SubmitSponsor(object sender, EventArgs e)
    {
        var driver = new Driver();
        var isvalid = driver.IsAppValid(URL.Text, APILINK, Connstring);

        if (isvalid)
        {
            PayPalFrame.Attributes.Add("src", "http://www.google.com");
            URLInvalid.Visible = false;
        }
    }

我也试过: PayPalFrame.Attributes["src"] = "http://www.google.com";仍然没有。

4

2 回答 2

1

我已经测试了你的代码,它在一个示例项目中工作:

ASPX:

<form id="form1" runat="server">
<div>
    <asp:ScriptManager runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
        <ContentTemplate>
            <div class="accountInfo">
                <p class="submitButton">
                    <asp:Button ID="ValidateButton" runat="server" Text="Validate" OnClick="SubmitSponsor" />
                </p>
            </div>
            <iframe runat="server" id="PayPalFrame" height="150px" width="100%" frameborder="0">
            </iframe>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>

代码隐藏:

public partial class UpdatePanelIFrameTester : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void SubmitSponsor(object sender, EventArgs e)
    {
        bool isvalid = true;
        if (isvalid)
        {
            PayPalFrame.Attributes.Add("src", "http://www.ironworks.com");
        }
    }
}

我会检查您的代码并确保没有任何内容导致您的页面刷新/执行完整的回发(我更改了 URL,因为谷歌不允许您在标准条件下在 iframe 中查看它)。

于 2012-09-11T17:44:54.273 回答
0

我相信您必须删除src 属性,然后重新添加它,才能正常工作。不知道为什么会这样,但我记得上次我使用更新面板时这样做了。也许是因为 src 属性总是已经存在?

无论如何,这里有一些示例代码: 如何更改 iframe 中的 src 属性

于 2012-09-11T17:26:01.097 回答