【问题标题】:Call a javascript function from c# to replace a div从 c# 调用 javascript 函数来替换 div
【发布时间】:2012-09-14 21:24:11
【问题描述】:

我在 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 没有得到更新。

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

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

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

如何更新 div 以便在 iframe 中显示正确的 url?

感谢您的帮助

【问题讨论】:

    标签: c# asp.net iframe


    【解决方案1】:

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

    //Set upload frame source
            var uploadUrl = '/Profile/upload.aspx?id=' + $.url().param('id').replace('/', '');
            $('#uploadFrame').prop('src', uploadUrl);
    

    【讨论】:

    • 我有在本地为我工作的确切代码。为了好玩,在初始加载时将 iframe 源留空,然后查看它是否使用 javascript 刷新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多