我在 c# 中有一个网页,在代码隐藏中我生成了一个 url,在 aspx 页面上我想更新一个 iframe 以显示这个 url。
在寻找执行此操作的方法一段时间后,我发现我可以注册 javascript 来强制刷新 iframe,但现在我遇到了麻烦。
无论我尝试什么,url 似乎永远不会改变,保持在加载时定义的 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?
谢谢你的帮助
最佳答案
要更新 iframe 的 src,您可以使用此代码:
//Set upload frame source
var uploadUrl = '/Profile/upload.aspx?id=' + $.url().param('id').replace('/', '');
$('#uploadFrame').prop('src', uploadUrl);
关于c# - 从 c# 调用 javascript 函数来替换 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432185/