C# UpdatePanel中的iFrame未更新

C# UpdatePanel中的iFrame未更新,c#,asp.net,ajax,webforms,C#,Asp.net,Ajax,Webforms,我试图在页面上单击按钮时更新iFrame的源。然而,似乎什么都没有发生 .ASPX: 我也试过: PayPalFrame.Attributes[“src”]=”http://www.google.com";还是什么都没有。我认为您必须删除src属性,然后重新添加它,这样才能工作。不知道为什么会这样,但我记得上次使用更新面板时这样做了。也许是因为src属性一直都存在 无论如何,这里有一些示例代码:。我已经测试了您的代码,它在一个示例项目中工作: ASPX: 我会检查你的代码,确保没有任何东西会导致

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

.ASPX:

我也试过:
PayPalFrame.Attributes[“src”]=”http://www.google.com";还是什么都没有。

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


无论如何,这里有一些示例代码:。

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

ASPX:


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

如果你在
SubmitSponsor
中设置断点,它会被命中吗?我已经有一段时间没有使用更新面板了,但您不需要指出哪些按钮将触发面板更新并重新渲染吗?@DaveZych是的,它会很好地通过SubmitSponsor中的每个命令。@AnnL。不,除了更新src属性之外,它对我尝试过的其他任何东西都很好。这很好,但是,如果你看我上面的代码,“src”属性还不存在。因此,从理论上讲,删除它不会有任何作用。单击按钮后,如果您在浏览器中查看页面源,是否设置了src属性?@r584我建议您无论如何尝试一下,看看它是否有效。如果没有,我很抱歉浪费了您的时间。@DaveZych-nope,src属性在我以后查看时不会显示在源代码中。该死。我现在觉得有点傻。这是因为我使用谷歌进行测试。由于iFrame没有显示任何内容,并且当我查看页面的源代码时,src标记没有添加,所以我认为它不起作用。我把它改成了一个不同的URL,它按预期工作*注意-即使在按预期工作之后,查看页面源代码仍然没有在iFrame标记上显示更新的“src”属性,但这没关系。谢谢没问题,很高兴你成功了。作为未来的注意事项,当您在浏览器上单击“viewsource”时,您将不会真正看到大多数与回发相关的更改。如果您想查看当前显示的内容,可以使用开发人员工具/firebug。祝你好运
    <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;
        }
    }
<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");
        }
    }
}