我已经从以前的基于asp.net和vb.net的开发人员那里接过了一个Web应用程序

我正在尝试使用JavaScript创建一个简单的弹出窗口,但是该弹出窗口不起作用。

asp.net代码是

<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()。代码如下:

<script type="text/javascript" charset="utf-8">
    function popup() {

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

    }
</script>


并按如下方式编辑html代码:

<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status"
    databind = "attr: { 'href = javascript: popup()' }">
    <i class="icon icon-random"></i>
</a>


当我单击链接时,没有任何反应。

我也尝试过:

<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status" onclick ="javascript: popup()">
    <i class="icon icon-random"></i>
</a>


和:

<a class="hover-glow" data-placement="bottom" rel="tooltip"
    title="change status" href ="javascript: popup()">
    <i class="icon icon-random"></i>
</a>


结果是一样的。

弹出窗口不得禁用父屏幕。

该网站正在使用另一个由色框弹出的窗口,该弹出窗口会禁用屏幕。

感谢您的善意回应。

最佳答案

似乎在popup()JavaScript函数中构建查询字符串时可能会遇到问题。您应该做的是将此任务分为两个步骤:


获取Window.Open首先工作(不带查询字符串):

<a class="hover-glow"
     data-placement="bottom"
     rel="tooltip"
     title="change status"
     href="javascript: popup()">
     <i class="icon icon-random"></i>
</a>

<script type="text/javascript" charset="utf-8">
     function popup()
     {
         //var url = 'update-status_popup.aspx?i='+Id+'&c='+StatusId;
         var url = 'update-status_popup.aspx';
         window.open(url);
      }
</script>

然后,一旦popup()函数起作用,就构建动态查询字符串。有多种方法可以解决此问题。请在此处参考答案:How to pass a query string variable?

关于javascript - 弹出无法在asp.net和vb.net网页上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23246856/

10-16 06:30