我有一个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
答案 0 :(得分:0)
我已经运行了你的代码,它工作正常。