我在 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?
感谢您的帮助