打开窗口在C#服务调用中不起作用

时间:2014-04-03 14:51:27

标签: c# javascript web-services window

我有一个C#WebService,其方法返回一个我想用JavaScript中的window.open打开的网址。我通过ScriptManager调用该方法,但是当我调用“window.open”时没有发生任何事情(没有错误且窗口没有打开)。

该方法返回url就好了,如果我将“console.log”放在return函数中,它也会被调用。

这是我的服务:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    [WebMethod]
    public string GetUrl()
    {
        return "http://google.dk";
    }
}

这是我的html / javascript:

<head runat="server">
    <title></title>
    <script type="text/javascript">
        function OpenUrl() {
            OpenUrlFromService.Service.GetUrl(function (url) {
                window.open(url);
            });
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="smDefault" runat="server">
            <Services>
                <asp:ServiceReference Path="~/Service.asmx" />
            </Services>
        </asp:ScriptManager>

        <a href="#" onclick="OpenUrl();">Link to popup</a>
    </form>
</body>

以下是我正在测试的项目的链接: http://peecee.dk/upload/download/435257

1 个答案:

答案 0 :(得分:0)

我已经运行了你的代码,它工作正常。