c# - 从 c# 调用 javascript 函数来替换 div

标签 c# asp.net iframe

我在 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/

相关文章:

c# - 从文件句柄获取文件名?

asp.net - 上传多个/大文件

facebook - 尽管有 Iframe,我是否可以将 Google Adsense 广告放置在 Facebook 即阅文中?

c# - 按任意时间间隔对 DateTime 进行分组

c# - 比较 Powershell 中的对象数组

c# - Linq2Twitter单用户授权空值异常

windows-phone-7 - Windows Phone 7 & 8 : WebBrowser control fails to load web page in iframe after certificate warning

jquery - 从 iframe 中重新加载父窗口

c# - ObjectContext 上的 ObjectSet 列表和 ObjectSet 上的 EntityCollections

asp.net - 将客户端 Blazor 添加到现有的 ASP.NET MVC5 应用