首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >弹出窗口不适用于asp.net和vb.net网页

弹出窗口不适用于asp.net和vb.net网页
EN

Stack Overflow用户
提问于 2014-04-23 14:06:27
回答 3查看 2.9K关注 0票数 0

我从以前的开发人员那里接管了一个基于asp.net和vb.net的web应用程序。

我尝试用javascript创建一个简单的弹出窗口,但是弹出窗口不起作用。

asp.net代码是

代码语言:javascript
代码运行次数:0
运行
复制
<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status" 
    data-bind="attr: { 'href':'update-status_popup.aspx?i=' 
    + Id + '&c=' + StatusId }">
    <i class="icon icon-random"></i>
</a> 

链接在另一个页面上打开。打开链接时,也会从数据库中获取ID。

现在的要求是在弹出窗口中打开链接。

我已经创建了一个javascript函数调用popup()。守则如下:

代码语言:javascript
代码运行次数:0
运行
复制
<script type="text/javascript" charset="utf-8">
    function popup() {

        var url = 'update-status_popup.aspx?i=' + Id + '&c=' + StatusId; 
        window.open(url);

    }
</script>

并按以下方式编辑了html代码:

代码语言:javascript
代码运行次数:0
运行
复制
<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status"
    databind = "attr: { 'href = javascript: popup()' }">
    <i class="icon icon-random"></i>
</a>

当我点击链接时,什么都不会发生。

我也尝试过:

代码语言:javascript
代码运行次数:0
运行
复制
<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status" onclick ="javascript: popup()">
    <i class="icon icon-random"></i>
</a>

以及:

代码语言:javascript
代码运行次数:0
运行
复制
<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status" href ="javascript: popup()">
    <i class="icon icon-random"></i>
</a>

结果是一样的。

弹出不能禁用父屏幕。

该网站正在使用另一个弹出的彩色框,它禁用屏幕。

感谢你的好意。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-23 15:07:32

在弹出()函数中构建查询字符串时,可能出现了JavaScript问题。您应该做的是将此任务分为两个步骤:

  1. Window.Open首先工作(没有查询字符串): 函数popup() { //var url = 'update-status_popup.aspx?i='+Id+'&c='+StatusId;var url = 'update-status_popup.aspx';window.open(url);}
  2. 然后,一旦弹出()函数正常工作,就生成动态查询字符串。有很多方法来处理这个问题。请参阅这里的答案:How to pass a query string variable?
票数 1
EN

Stack Overflow用户

发布于 2014-04-23 15:33:56

我假设弹出函数不起作用。您可能需要查看浏览器控制台窗口,看看错误是什么。

你可以试着把所有的js都放进href。

代码语言:javascript
代码运行次数:0
运行
复制
data-bind="attr: { 'href': 'javascript: window.open(\'update-status_popup.aspx?i=' + Id + '&c=' + StatusId + '\')' }" 

或者有一个以url作为参数的通用弹出函数。

代码语言:javascript
代码运行次数:0
运行
复制
data-bind="attr: { 'href': 'javascript: popup(\'update-status_popup.aspx?i=' + Id + '&c=' + StatusId + '\')' }" 

  function popup(url) {

        window.open(url);

    }

我认为Id和StatusId是服务器变量,在客户端不可用。

票数 1
EN

Stack Overflow用户

发布于 2014-04-23 17:14:32

要实现“弹出”(不是新的浏览器选项卡),您应该考虑实现jQuery.UI对话框。这里有一个指向一个答案的链接,它展示了如何实现它:

How to display an IFRAME inside a jQuery UI dialog

下面是指向jQuery UI对话框文档的链接:https://jqueryui.com/dialog/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23246856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档