2

我在 c# 中有一个网页,在代码隐藏中我生成一个 url,在 aspx 页面上我想更新一个 iframe 以显示这个 url。

在寻找了一段时间的方法后,我发现我可以注册 javascript 来强制刷新 iframe,但现在我遇到了麻烦。

无论我尝试什么,url 似乎永远不会改变,保持在加载时定义的 url。

让我给你看一些代码,这样你就可以看到我在做什么,也许可以帮助我解决这个问题。

我有这个字符串,谁处理我想去的网址

public String currentMap = "google.com";

这是注册 javascript 的函数

protected void Page_Load(object sender, EventArgs e)
   {
        UtilityClass utility = new UtilityClass();
        this.Page.ClientScript.RegisterStartupScript(
            this.GetType(),
            "StartupScript",
            "Sys.Application.add_load(MyLoad);",
            true);}

这注册了javascript函数,这个函数应该加载一个修改过的url,像这样

<script type="text/javascript">

   function MyLoad(sender) {
       $get('maps').innerHTML += "<%= currentMap %>";
   }</script>

虽然我可以看到内部 html 是如何更新的(你可以看到我使用 =+ 运算符,因为我想看看我是否在页面中添加了一些东西),但是 currentMap 的值总是相同的,并且 iframe 确实没有得到更新。

我启动了一个函数,当我在 gridview 中单击一个对象时,这个函数会执行类似的操作。

currentMap = "<iframe src=\"somepages.html" id=\"viewerframe\"  width=\"100%\" height=\"450\"></iframe>"\"";

我可以看到 iframe 更新,但该值仍保留在http://google.com(硬编码的测试值)。

我如何更新 div 使其在 iframe 中显示正确的 url?

感谢您的帮助

4

1 回答 1

0

要更新 iframe 的 src,您可以使用以下代码:

//Set upload frame source
        var uploadUrl = '/Profile/upload.aspx?id=' + $.url().param('id').replace('/', '');
        $('#uploadFrame').prop('src', uploadUrl);
于 2012-09-15T03:07:51.890 回答